首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用gdb (和cgdb)调试go (golang)中的程序,但似乎存在问题。

尝试使用gdb (和cgdb)调试go (golang)中的程序,但似乎存在问题。
EN

Stack Overflow用户
提问于 2014-08-09 19:18:53
回答 1查看 794关注 0票数 1

我知道围棋队不会很好地支持GDB。然而,它似乎有时起作用,所以在我放弃之前,我想看看它在这个程序上是否有效。

我试图用它来调试我在mac x中的程序,不幸的是,我无法在运行时检查我的程序。我使用的是mac x小牛10.9.4,我的go版本是go1.2.2达尔文/ am 64。

如果我对二进制文件执行gdb my_binary,然后尝试运行它,会发生什么情况:

代码语言:javascript
复制
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hydra...
warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/crypto/x509/_obj/root_darwin.cgo2.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/net/_obj/cgo_unix.cgo2.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/runtime/cgo/_obj/gcc_amd64.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/runtime/cgo/_obj/gcc_darwin_amd64.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/runtime/cgo/_obj/gcc_setenv.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/go-build728316890/runtime/cgo/_obj/gcc_util.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/m9/3tx5tfkx02z9jkwdz0lkg85cj4gbmq/T/go-build297950324/github.com/alecthomas/gozmq/_obj/zmq.cgo2.o': can't open to read symbols: No such file or directory.

warning: `/var/folders/m9/3tx5tfkx02z9jkwdz0lkg85cj4gbmq/T/go-build297950324/github.com/alecthomas/gozmq/_obj/zmq_3_x.cgo2.o': can't open to read symbols: No such file or directory.
(no debugging symbols found)...done.

我想要关注的是最后一条:

代码语言:javascript
复制
(no debugging symbols found)...done.

我的围棋程序编译错了吗?是否有任何标志可以使这一工作?

我只做了go build my_program,但似乎有些标志或什么东西可以使它工作?

我已经能够使gdb在非常简单的程序上工作,但是在这个大得多的程序上,它会失败并抛出上面的错误。有人知道为什么会这样吗?有人能让它适用于拥有大量库和包之类的大型程序吗?

我知道这可能行不通,但我想通过向社区询问来尝试一下。

(如果有调试器,我也愿意使用不同的调试器)。

(我对cgdb也有同样的问题)。

(我也愿意使用任何其他调试器,这些调试器可以让我看到变量、断点和基本功能的值,也许还可以探索go例程,这将是非常棒的。当然,对mac来说)

EN

回答 1

Stack Overflow用户

发布于 2014-08-13 11:20:08

GDB告诉您,它认为可能找到调试符号的文件和目录并不存在。从名称上看,这些是Go的临时工作目录。

有一个命令行选项-work to go build,描述如下:

打印临时工作目录的名称,退出时不要删除它。

因此,这可能是可行的,代价是一些周期性的人工清理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25222142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档