使用pid启动gdb

时间:2010-01-28 05:51:46

标签: c process gdb dbx

一般情况下,我会看到正在后台运行的进程pid,并使用命令dbx -a <pid>

在该进程上启动dbx

同样如何使用gdb?

3 个答案:

答案 0 :(得分:52)

除了以前你可以直接使用

gdb -p <pid>

答案 1 :(得分:36)

有两种方式。

从命令行,在可执行文件名后包含pid作为参数:

gdb /path/to/prog PID

在gdb中,您可以使用attach命令:

gdb /path/to/prog
gdb> attach PID

虽然命令行上的指定更简洁,但如果您的核心文件的名称与pid相同,则存在轻微风险(即对于pid 2345,核心文件必须是命名为“2345”)然后gdb将打开核心文件。不可否认,这种情况发生的可能性微乎其微。

答案 2 :(得分:3)

从gdb手册页:

如果要调试正在运行的进程,则可以将进程ID指定为第二个参数:

gdb program 1234