如何让GDB继续,直到程序进入另一个函数?

时间:2013-02-04 19:57:57

标签: c++ c debugging gdb

说我在A()和A()中调用B()。我刚进入A(),我希望程序运行,直到我在B()。它不必是特定的函数B()。我只是希望我的程序在进入新功能时暂停。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

call指令上设置断点的方式会有一个很好的解决方案,但是as this answer states没有办法做到这一点。

我认为,最简单的解决方案是手动设置断点或尝试write a script in Python在当前函数列表中查找函数调用并设置所需的断点。

答案 1 :(得分:1)

对于来电,如:List of all function calls made in an application

中所述
set confirm off
rbreak .

rbreak为与给定正则表达式匹配的每个函数设置断点,.匹配所有函数。

出口比较棘手,因为我们在编译时无法知道我们将要降落的地方:Setting breakpoint in GDB where the function returns