我安装了LiteIDE和GDB。我在LiteIDE中打开了我的Go项目,并在代码中添加了断点。然后,我切换回终端,运行本应调用断点的项目二进制文件,但什么也没有发生。我做错了什么?
发布于 2014-09-29 14:12:03
您必须从IDE实际启动可执行文件,断点才有意义。
还要记住,gdb在Go 1.3.x中几乎没有意义,在1.4 (dev)中更是如此。
GDB不能很好地理解Go程序。堆栈管理、线程处理和运行时包含的方面与GDB期望的执行模型有很大的不同,即使程序是用gccgo编译的,它们也会使调试器感到困惑。因此,尽管GDB在某些情况下很有用,但它不是Go程序的可靠调试器,尤其是大量并发的程序。此外,对于Go项目来说,解决这些困难的问题并不是一个优先事项。简而言之,下面的说明只应该作为在GDB工作时如何使用它的指南,而不是作为成功的保证。
随着时间的推移,可能需要更多以Go为中心的调试架构。
发布于 2014-09-29 17:13:07
我使用这个包https://github.com/gostart/debug/,到目前为止,它是我找到的最好的解决方案。希望这能有所帮助。
https://stackoverflow.com/questions/26090793
复制相似问题