为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 GDB 正确调试由 `go test -c` 生成的二进制文件?

如何使用 GDB 正确调试由 `go test -c` 生成的二进制文件?

Go
牛魔王的故事 2021-07-09 10:02:09
该go test命令支持-c标志,描述如下:-c  Compile the test binary to pkg.test but do not run it.    (Where pkg is the last element of the package's import path.)据我所知,生成这样的二进制文件是使用 GDB 以交互方式运行它的方式。但是,由于测试二进制文件是通过将源文件和测试文件临时组合在某个 /tmp/ 目录中来创建的,因此当我list在 gdb 中运行时会发生以下情况:Loading Go Runtime support.(gdb) list42      github.com/<username>/<project>/_test/_testmain.go: No such file or directory.这意味着我不能像以前那样愉快地检查 GDB 中的 Go 源代码。我知道可以通过将-work标志传递给go test命令来强制保留临时目录,但是它仍然是一个巨大的麻烦,因为没有在该目录中创建二进制文件等等。我想知道是否有人找到了解决此问题的干净方法。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信