在 gdb 中,我有finish
命令轻松完成函数框架的执行,通常在调试器中遍历代码时,在查看循环的几次迭代后,我想完成循环并继续执行它。目前,我通过在循环后的第一行设置断点来做到这一点continue
,但是,如果有一个简单的 gdb 命令具有相同的效果但不需要设置断点,那将非常方便后来清了。
gdb 中是否有完成当前正在执行的循环的执行?
在 gdb 中,我有finish
命令轻松完成函数框架的执行,通常在调试器中遍历代码时,在查看循环的几次迭代后,我想完成循环并继续执行它。目前,我通过在循环后的第一行设置断点来做到这一点continue
,但是,如果有一个简单的 gdb 命令具有相同的效果但不需要设置断点,那将非常方便后来清了。
gdb 中是否有完成当前正在执行的循环的执行?
是否有 gdb 命令来完成循环构造?
在循环的最后一行执行until
,或者循环的最后一行until NNN
在哪里NNN
。
(gdb) help until
Execute until the program reaches a source line greater than the current
or a specified location (same args as break command) within the current frame.
不需要设置断点并稍后清除。
临时断点会自动清除自己:
(gdb) help tbreak
Set a temporary breakpoint.
Like "break" except the breakpoint is only temporary,
so it will be deleted when hit. Equivalent to "break" followed
by using "enable delete" on the breakpoint number.
gdb
不知道循环在哪里结束,所以它不能这样做。我认为你能做的最好的就是advance
在循环之后使用带有位置的命令。