在使用DDD的许多,有时是淹没,调试会话期间,我偶然发现了循环。然后我一直按下它以通过它,如果有很多次迭代,我只需在它之后设置一个断点,然后按“继续”。有没有其他方法可以通过循环?
答案 0 :(得分:15)
您需要“until”命令 - 请参阅http://www.gnu.org/software/gdb/documentation上的gdb手册:
继续运行直到源代码行 过去当前的线,在当前 堆栈框架,到达。这个命令 用于避免单步执行 不止一次通过一个循环。它是 像下一个命令,除了 直到遇到跳跃,它 自动继续执行 直到程序计数器更大 而不是跳跃的地址。
这意味着当你到达终点时 虽然单步执行后循环 它,直到你的程序继续 执行直到它退出循环。在 对比,结束时的下一个命令 一个循环简单地回到了 循环的开始,强制 你要步入下一个 迭代。
答案 1 :(得分:3)
我通常使用“continue until here”,在该位置设置临时断点并立即继续执行。可通过鼠标按钮3访问它,打开弹出菜单。