我使用的是gcc 4.9.2 &在Solaris 10上安装gdb 7.2。以下是与-g
、-ggdb
、-ggdb3
编译/链接后的测试。
附加到进程时:
~ gdb
/snip/
(gdb) attach pid_goes_here
…它没有加载符号信息。我从netbeans开始,它在没有指定可执行文件名的情况下启动gdb,直到附加发生之后,但是我已经排除了netbeans作为原因。
如果我执行以下操作之一,我可以强制它加载netbeans下的符号表:
附加到进程,然后在调试器控制台中执行以下操作之一:
(gdb) detach
(gdb) file /path/to/file
(gdb) attach the_pid_goes_here
或
(gdb) file /path/to/file
(gdb) sharedlibrary .
我想知道是否有一种更自动的方法来强制执行此行为。
我想知道是否有一种更自动的方法来强制执行此行为。
它看起来像一个bug。
您确定主可执行符号已加载吗?这个错误说attach pid
没有提供二进制文件在Solaris上根本不能工作。
在任何情况下,它应该是自动工作的,所以你最好的办法是让它更好地工作,可能是提交一个错误,并等待它被修复(或发送一个补丁来修复它:-)