36
我有一个简单的C程序,它分叉一个进程然后运行一个可执行文件。如何在gdb中附加进程
我想将子进程附加到gdb。
我运行在一个控制台主程序并打开另一个控制台找出子进程的PID,然后我开始GDB用下面的命令:
gdb attach 12271
其中12271
是子进程的ID,但连接失败,有:
No such file or directory.
任何想法,为什么?
我有一个简单的C程序,它分叉一个进程然后运行一个可执行文件。如何在gdb中附加进程
我想将子进程附加到gdb。
我运行在一个控制台主程序并打开另一个控制台找出子进程的PID,然后我开始GDB用下面的命令:
gdb attach 12271
其中12271
是子进程的ID,但连接失败,有:
No such file or directory.
任何想法,为什么?
尝试其中之一:
gdb -p 12271
gdb /path/to/exe 12271
gdb /path/to/exe
(gdb) attach 12271
第一个参数应该是可执行程序的路径。所以
gdb progname 12271
我不认为连接是一个命令行参数。一旦gdb已经在运行,你可以使用它。这家伙有一个很好的教程:http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.php – thang
可能重复[我可以使用GDB调试正在运行的进程?](http://stackoverflow.com/questions/2308653 /可-I-使用-GDB调试的-A-行驶过程) –