Есть ли команда gdb для завершения цикла?
В gdb у меня есть команда finish
, чтобы легко завершить выполнение фрейма функции, часто при прохождении кода в отладчике, посмотрев несколько итераций цикла, я бы хотел закончить цикл и Продолжайте ходить по нему. В настоящее время я делаю это, установив точку прерывания в первой строке после цикла и continue
, однако было бы очень удобно, если бы была простая команда gdb, чтобы иметь тот же эффект от этого, но не требовать точки останова быть установленным и позже очищенным.
Нужно ли в gdb завершить выполнение текущего цикла?
Ответы
Ответ 1
Есть ли команда 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.
Ответ 2
gdb
не знает, где заканчивается цикл, поэтому он не может этого сделать. Я думаю, что лучшее, что вы можете сделать, это использовать команду advance
с местоположением после цикла.