gdb/solaris:附加到进程时,未加载符号

gdb/solaris: When attaching to a process, symbols not being loaded

我在 sparc 上的 Solaris 10 中使用 gcc 4.9.2 和 gdb 7.2。以下是在 compiling/linking 之后用 -g-ggdb-ggdb3 测试的。

当我附加到进程时:

~ gdb
/snip/
(gdb) attach pid_goes_here

...它没有加载符号信息。我从 netbeans 开始,它在不指定 executable 名称的情况下启动 gdb,直到发生附加,但我已经消除了 netbeans 作为原因。

如果我执行以下操作之一,我可以强制它在 netbeans 下加载符号 table:

附加到进程,然后在调试器控制台中执行以下操作之一:

(gdb) detach
(gdb) file /path/to/file
(gdb) attach the_pid_goes_here

(gdb) file /path/to/file
(gdb) sharedlibrary .

我想知道是否有更自动的方法可以强制执行此行为。到目前为止,谷歌搜索一无所获。

I want to know if there's a more automatic way I can force this behavior.

它看起来像一个错误。

您确定加载了主要的可执行符号吗? This bug 表示 attach pid 不提供二进制文件在 Solaris 上根本不起作用。

在任何情况下,它都应该自动工作,所以让它更好地工作的最好办法可能是提交一个错误,然后等待它被修复(或者发送一个补丁来自己修复它:-)