78

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

我想将子进程附加到 gdb。

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

gdb attach 12271

12271子进程 ID在哪里,但附加失败并显示:

No such file or directory.

知道为什么吗?

4

3 回答 3

130

尝试其中之一:

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

gdb /path/to/exe
(gdb) attach 12271
于 2013-01-17T03:02:44.000 回答
22

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

gdb progname 12271
于 2013-01-17T01:53:46.163 回答
7

myExecutableName使用具有 PID的运行实例15073

在命令行中按两次Tab后$ gdb myExecu,将自动自动完成:

$ gdb myExecutableName 15073

并将 gdb 附加到此过程。那很好!

于 2019-02-28T08:45:27.153 回答