分离后附加到其他程序



我在emacs中使用了gud-gdb。首先,我附上了Program1的PID 29514

(gdb) attach 29514
Attaching to program: program1
...

然后将其分离。

(gdb) detach
Detaching from program: program1, process 29514

然后我想使用PID 4917的另一个程序2。

(gdb) attach 4917
Attaching to program: program1, process 4917
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
0x00007fbfc52604c0 in ?? ()

我们看到GDB仍然想使用program1。有没有办法让GDB清除最后一个独立的程序?

i使用当前的中继GDB重现了此行为。

我相信这是一个错误:文档说:

"When you use attach, the debugger finds the program running in the process
first by looking in the current working directory, then (if the program
is not found) ..."

它没有区分第一个附件和第二个附件,并且没有说如果新过程与旧程序运行不同的程序,则GDB不会再次找到程序。

您可以使用file命令:

来解决此问题
(gdb) attach $PID1
...
(gdb) detach
(gdb) file prog2    # you shouldn't have to do this
(gdb) attach $PID2  # works fine

相关内容

  • 没有找到相关文章

最新更新