我正在尝试在 OS-X 10.9.5 上使用 goclipse v0.11.0 调试在 eclipse Luna 中运行的 go 程序。我正在使用来自 brew 的 GNU gdb (GDB) 7.9.1 和 go1.4.2。
我使用此处的说明成功安装并进行了代码签名gdb
:
http://ntraft.com/installing-gdb-on-os-x-mavericks/
我正在构建我的 go 程序,-gcflags "-N -l"
并且可以在命令行上成功调试它,包括在 go 函数处设置断点并使用命令行单步执行它们gdb
,源代码会按原样显示。
但是,在 goclipse 中我根本无法设置断点,因为菜单上的“切换断点”项是灰色的,并且“断点类型”列表显示“无可用”。
如果我选择'Stop on Startup at''main',那么我可以单步执行汇编程序,这无济于事,但证明正在使用gdb。
如果我保持上面的选项设置,等到程序遇到main
断点,然后键入(在 eclipse 中的 gdb 控制台)break main.foo
,然后cont
,然后在正确的位置设置断点,我可以在 Eclipse IDE 中单步执行。因此,似乎唯一的问题是在 IDE 中设置断点。
相关的 go 程序是一个文件,它在命令行 gdb 下工作,我已经删除了二进制文件并重新启动,所以这不是“需要重建”的问题。
相关问题:如何使用 GoClipse 调试 Go 程序?但是,两个答案是“禁用启动时停止”(在这里没有区别),并且-gcflags "-N -l"
给出了确保(没有区别)。
截屏:
有任何想法吗?