这是调试过程中vscode中Go中正常的int64/float64变量的预览.

enter image description here

And this is how it looks when using a variable from Decimal library. enter image description here

如果这是可能的,那么调试就会容易得多.现在,没有日志(log)是不可能成为一个值的,如果没有日志(log),您需要重新构建并重新启动项目.

有没有什么办法来实现它--也许是一个插件或者某种表达方式? 或者,也许有人知道如何为此编写插件/扩展?

基本上是为了了解我们需要调用的值.Var.String()函数,但在Viscose调试期间无法调用该函数.或者我只是不知道该怎么做.

多年来,我一直在使用这个名为Decimal(https://github.com/shopspring/decimal)的任意精度包,这是一种痛苦,我终于想让它发挥作用.

是的,在这个例子中,你可以点击展开3次,然后取值2345454,取exp:-3,然后在你的头上放一个点,得到2345.453,但这并不理想,我认为无论如何它也不总是有效的,特别是在负值的情况下.

推荐答案

展开@icza的 comments .

在我的电脑上,call fff.String()不适用于github.com/shopspring/decimal.IT错误为:

(dlv) call t.String()
> main.main() ./main.go:20 (PC: 0x49ecbf)
Command failed: write out of bounds

我的系统是linux/amd64.我认为它并不能在所有的64位系统上运行.

当前版本的dlv(1.20.2)中存在错误.我刚申请了bug report和发送了fix.

如果你现在想让它工作,你可以克隆my fork,判断call-var-padding分支,然后从源代码安装(go install ./cmd/dlv).

以下是打了补丁的dlv人的结果:

vs-code debug view

Go相关问答推荐

语法-for循环中的initit陈述是否允许分配?

杜松子wine -戈尼克背景在 children 围棋例行公事中被取消

如何存储来自异步Goroutine的返回值列表?

一种基于时间的Golang函数节制器

如何预编译Golang标准库?

go grpc:无法导入github.com/golang/protobuf/proto(没有所需的模块提供包github.com/gorang/protobuf-proto)

如何使用 go 读取 RDF xml 文件中的 XML 命名空间属性

如何获取集群外go Kubernetes客户端的当前命名空间?

使用Dockertest进行Golang SQL单元测试的基本设置

如何为ANTLR4目标Go调试监听器

如何忽略打印达到最大深度限制 go colly

具有嵌套重复的正则表达式

如何在golang中按字符a对字符串数组进行排序

Golang泛型在用作 map 元素时不起作用

使用 oklog/run 来自 Go 编译器的错误(无值)用作值

Golang SSH客户端错误无法验证,try 的方法[无公钥],没有支持的方法

Unescape 在 rss 中两次逃脱了标题

将 CSVExport 函数传递给处理程序 Gin

带有 grpc 的 protobuf 用于拆分包中的 Go

在 Go 中,为什么 exec.Command() 失败但 os.StartProcess() 成功启动winget.exe?