col*_*man 18 debugging go visual-studio-code
在 Go 中调试时,我一直无法看到变量的整个值。当我点击一个相当长的值时,它会显示我... +# more。但我找不到一种方法来查看该值的其余部分。即使在监视模式下,它也会做同样的事情,即使我单击复制值,它也会复制 ...+# more。下面是一个例子。有人知道如何查看 +114 的其余部分吗?
“一些真的很长的字符串..+114 更多”
您可以在 vscode settings.json 中配置 delve。
有一个名为“maxStringLen”的参数,您可以将其设置为更高的值。我不建议将值设置为高。如果将 maxStringLen、maxArrayValues 等设置为高,调试器会变得非常慢。因此,如果您使用这些 delve 设置并且您的调试器变慢,最好再次选择较低的值。
这是一个显示 maxStringLen 和其他一些可能值的示例:
"go.delveConfig": {
"useApiV1": false,
"dlvLoadConfig": {
"followPointers": true,
"maxVariableRecurse": 3,
"maxStringLen": 400,
"maxArrayValues": 400,
"maxStructFields": -1
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
我的 go 编程需要这个答案。答案与 Tobias 提供的略有不同(也许我有更新版本的调试器)。
以下是更改调试器中可以看到的字符串长度的方法:
设置你的 go 程序进行调试(安装 vs code 的 go 扩展)
在您的工作区中,将有一个 .vscode 目录。其中有一个名为 launch.json 的文件。如果不存在,那么当您要启动调试器时,可以创建一个。
编辑 launch.json 文件。它将包含一个简单的 JSON 配置。扩展该 JSON,使其看起来像这样(我将最大长度扩展为 400):
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"apiVersion": 2,
"dlvLoadConfig": {
"followPointers": true,
"maxVariableRecurse": 1,
"maxStringLen": 400,
"maxArrayValues": 64,
"maxStructFields": -1
}
}
]
}
Run Code Online (Sandbox Code Playgroud)