是否可以在调试期间在 VSCode 中预览 github.com/shopspring/decimal 值?

问题描述 投票:0回答:1

这是调试期间在vscode中Go中普通

int64
/
float64
变量的预览

这就是使用 Decimal 库中的变量时的样子。

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

关于如何实现它的任何想法 - 也许是插件或某种表达方式? 或者也许有人知道如何为此编写插件/扩展?

主要是看我们需要调用的值。 var.String() 函数,但在粘胶调试期间无法调用该函数。或者我只是不知道怎么做。

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

是的,在此示例中,您可以单击展开 3 次,然后取值 2345454 并取 exp:-3 并在您的头上放一个点并得到 2345.453 但这并不理想,我认为它并不总是有效,对于低于零的值尤其困难。

go decimal vscode-debugger delve
1个回答
0
投票

展开@icza的评论

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

(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 报告 并发送了 fix.

如果你想让它现在工作,你可以克隆my fork,检查

call-var-padding
分支,然后从源代码安装(
go install ./cmd/dlv
)。

这是修补后的结果

dlv

© www.soinside.com 2019 - 2024. All rights reserved.