是否可以在不停止调试对象的情况下向gdb发出命令?

时间:2016-02-07 15:39:09

标签: debugging gdb

Gameconqueror可以在不停止跟踪​​程序的情况下更新它连续发现的变量。但据我所知,您必须使用ptrace()来访问指定的程序,当您这样做时,它会自动停止调试对象。但不知何故,Gameconqueror设法在不中断调试对象的情况下完成它的工作(并且它每半秒更新一次)。

我认为如果Gameconqueror可以做到这一点,gdb也应该能够做到。我试图在继续调试对象后输入一些命令,gdb没有给出任何错误但也没有显示任何内容。我很困惑。

1 个答案:

答案 0 :(得分:0)

您需要在gdb内使用异步模式。这在此处记录: https://sourceware.org/gdb/onlinedocs/gdb/Background-Execution.html#Background-Execution

例如:

(gdb) continue &

将继续您的程序,然后立即返回到命令提示符,允许您在程序仍在运行时发出更多命令。

如果您要停止程序,则需要使用interrupt命令,因为通常的Ctrl + c将无效。