如何使用 delve 调试器单步执行可执行文件?

问题描述

我想单步执行命令 -

rosetta-cli check:construction --configuration-file bitcoin_testnet/config.json

在本文的其余部分,我将此命令称为 alpha。

rosetta-cli 是一个 golang 二进制文件,它存在于 ~/go/bin 并带有一些标志 - 如上图所示。

我正在尝试绘制 alpha 在遇到错误之前经历的一系列调用。例如:alpha 调用 f1,然后调用 f2,此时出现错误。我想逐步完成此过程,以便更好地了解问题所在。

如何使用 delve 或类似的调试工具完成此操作?

编辑:如果我可以逐行浏览违规函数并查看导致它们恐慌的代码在运行时是什么样的,那将是一个奖励。

func f2(){
// request some data
// some error causes the server to panic
// return some data
}

解决方法

虽然这不是我想要的,但我发现使用 vscode 达到了预期的结果。

只需将其添加到您的 .vscode/launch.json:

{
    "version": "0.2.0","configurations": [
        {
            "name": "Delve","type": "go","request": "launch","mode": "debug","program": "${workspaceRoot}/<myfolder>/<myprogram>","env": {},"port": 9090,"args": ["run","--flag","foo"]
        }
    ]
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...