使用pid启动gdb

Vij*_*jay 40 c gdb process dbx

通常,我会看到pid 在后台运行的进程,并使用该命令在该进程上启动dbxdbx -a <pid>

同样我怎么能用gdb做到这一点?

zak*_*kak 56

除了以前你可以直接使用

gdb -p <pid>
Run Code Online (Sandbox Code Playgroud)


R S*_*hko 37

有两种方法.

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

gdb /path/to/prog PID
Run Code Online (Sandbox Code Playgroud)

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

gdb /path/to/prog
gdb> attach PID
Run Code Online (Sandbox Code Playgroud)

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