无法加载runtime-gdb.py

时间:2014-07-22 02:36:04

标签: eclipse go gdb

我正在尝试调试使用Go in eclipse编写的程序。我可以非常一致地设置和命中断点,但是我无法查看变量的内容。当我开始调试程序时,我总是在控制台上收到以下错误。

警告:文件“/usr/local/go/src/pkg/runtime/runtime-gdb.py”自动加载已被“自动加载安全路径”设置为“$ debugdir:$ datadir” /自动加载”。 要启用此文件的执行添加     add-auto-load-safe-path /usr/local/go/src/pkg/runtime/runtime-gdb.py 行到您的配置文件“/home/johnlawrie/.gdbinit”。 要完全禁用此安全保护添加     设置自动加载安全路径/ 行到您的配置文件“/home/johnlawrie/.gdbinit”。 有关此安全保护的详细信息,请参阅 GDB手册中的“自动加载安全路径”部分。例如,从shell运行:     info“(gdb)自动加载安全路径”

认为问题可能是由错误消息引起的,我按照说明将条目放入我的.gdbinit文件中。但是,每次运行时都会收到相同的信息,好像我什么也没做。这是我的/home/johnlawrie/.gdbinit文件的内容

add-auto-load-safe-path /usr/local/go/src/pkg/runtime/runtime-gdb.py

要使此更改生效,我需要做些什么?我已经尝试注销并重新登录。

谢谢, 约翰劳里

2 个答案:

答案 0 :(得分:1)

它确实了解了发生了什么。当从Eclipse / CDT启动gdb时,它以选项-nx启动,这意味着它不会在主目录中加载.gdbinit。

我能够通过创建一个.gdbinit文件作为我工作区中src,bin和pkg目录的对等文件并向其添加以下行来实现此功能

set auto-load safe-path /usr/local/go/

答案 1 :(得分:0)

它应该是add-auto-load-safe-path /usr/local/go/src/pkg/,而不是脚本的路径。

另请注意,gdb并不适用于Go,特别是v1.3。

来自http://golang.org/doc/gdb

  

GDB不了解Go程序。堆栈管理,   线程和运行时包含的方面与   执行模型GDB期望他们甚至可以混淆调试器   当程序使用gccgo编译时。因此,尽管如此   GDB在某些情况下很有用,它不是一个可靠的调试器   对于Go程序,特别是大量并发的程序。而且,它是   Go项目不是解决这些问题的优先事项   难。简而言之,下面的说明只能作为一个   指导如何在工作时使用GDB,而不是成功的保证。