如何在GDB中设置断点,但不执行断点暂停?我只想在控制台中收到通知

时间:2018-10-12 22:57:29

标签: debugging gdb

通常,如果您设置了gdb断点,并且程序到达该点,则gdb会完全停止执行,并让用户检查并四处探寻,然后继续。

我希望向选项通知断点遍历,而不是暂停执行。

我知道我可以简单地转到代码并添加一条打印语句,但这特别烦人,尤其是调试不在我自己构建的代码之外的库。

同样,我已经在使用GDB,并且想要使用“断点”,但是只是获得了关于何时以及经过多少行的某种通知,而不会停止整个程序的执行。这可能吗?

1 个答案:

答案 0 :(得分:1)

  

我希望向选项通知断点遍历,而不是暂停执行。

(gdb) break foo.c:123
(gdb) commands $bpnum
continue
end

这会将命令附加到断点。 GDB将打印出一个断点,然后运行附加的命令,该命令将继续执行。

您还可以在继续之前打印一些变量,或者甚至仅在满足某些条件时才继续打印,否则停止。例如。 “如果x > 100,则继续,否则,则停止。”