如何在不暂停的情况下使用gdb调试进程?

时间:2015-02-13 20:15:42

标签: debugging gdb

我有一个已经运行的进程,我想用GDB调试它。我一直在使用

gdb --pid $PID

然而,当我这样做时,该过程暂停。我希望在没有暂停的情况下附加到该过程,并在它仍在运行时环顾四周。这可能吗?或者,有没有办法去" fork"这个过程让我可以在不停止/暂停过程的情况下查看其内存?

1 个答案:

答案 0 :(得分:3)

gdb没有办法在没有某种停顿的情况下附加。

Linux内核通过PTRACE_SEIZE为此提供了一些支持,但gdb尚未使用它。您可以跟踪bugzilla中的错误。

同时你可以尝试将gdb设置为“观察者模式”。然后,您可以附加并使用continue &在后​​台继续该过程。您可能需要设置各种设置,例如target-async,具体取决于gdb版本。

我不确定这是否有效。值得一试。请注意,有一个窗口可以暂停程序。现在这是不可避免的。