一般来说,我看到pid
在后台运行的进程并使用命令在该进程上启动 dbxdbx -a <pid>
同样,我如何使用 gdb 来做到这一点?
除了前面你可以直接使用
gdb -p <pid>
有两种方法。
在命令行中,将 pid 作为参数包含在可执行文件名称之后:
gdb /path/to/prog PID
在 gdb 中,您可以使用 attach 命令:
gdb /path/to/prog
gdb> attach PID
虽然命令行上的指定更加简洁,但如果您有一个名称与 pid 相同的核心文件(即对于 pid 2345,核心文件必须命名为“2345 ") 然后 gdb 将打开核心文件。诚然,这种情况发生的可能性微乎其微。
从 gdb 手册页:
如果要调试正在运行的进程,则可以改为指定进程 ID 作为第二个参数:
gdb program 1234