如何在gdb中附加进程

as3*_*unt 64 unix gdb

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

我想将子进程附加到gdb.

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

gdb attach 12271
Run Code Online (Sandbox Code Playgroud)

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

No such file or directory.
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

Emp*_*ian 112

尝试以下方法之一:

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

gdb /path/to/exe
(gdb) attach 12271
Run Code Online (Sandbox Code Playgroud)


DrC*_*DrC 20

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

gdb progname 12271
Run Code Online (Sandbox Code Playgroud)


Ste*_*and 7

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

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

$ gdb myExecutableName 15073
Run Code Online (Sandbox Code Playgroud)

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