Unix 如何在gdb中附加进程

Unix 如何在gdb中附加进程,unix,gdb,Unix,Gdb,我有一个简单的C程序,它派生一个进程,然后运行一个可执行文件 我想将子进程附加到gdb 我在控制台中运行主程序并打开另一个控制台以查找子进程的pid,然后使用以下命令启动gdb: gdb attach 12271 其中12271是子进程id,但连接失败,原因是: No such file or directory. 知道为什么吗?第一个参数应该是可执行程序的路径。所以 gdb progname 12271 请尝试以下方法之一: gdb -p 12271 gdb /path/to/exe 1

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

我想将子进程附加到gdb

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

gdb attach 12271
其中
12271
是子进程id,但连接失败,原因是:

No such file or directory.

知道为什么吗?

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

gdb progname 12271
请尝试以下方法之一:

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

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

正在运行的myExecutableName实例具有PID
15073

在命令行中的
$gdb myExecu
之后点击两次Tab,将自动完成以下操作:

$ gdb myExecutableName 15073

并将gdb附加到此进程。太好了

我不认为attach是一个命令行参数。一旦gdb已经运行,您就可以使用它。这家伙有一个很好的教程:可能重复