如何在 gdb 中附加进程

我有一个简单的 C 程序,它分叉一个进程,然后运行一个可执行文件。

我想将子进程附加到 gdb。

我在控制台中运行主程序并打开另一个控制台以查找子进程的 pid,然后使用以下命令启动 gdb:

gdb attach 12271

其中 12271是子进程 id,但附加失败:

No such file or directory.

知道为什么吗?

137708 次浏览

第一个参数应该是可执行程序的路径

gdb progname 12271

试试这个:

gdb -p 12271
gdb /path/to/exe 12271


gdb /path/to/exe
(gdb) attach 12271

对于正在运行的 myExecutableName实例,其 PID 为 15073:

在命令行中按 $ gdb myExecu后面的 两次键,将自动完成以下操作:

$ gdb myExecutableName 15073

并将 gdb 附加到这个进程。这很好!