Могу ли я использовать GDB, чтобы пропустить строку, не вводя номера строк?
Я знаю, что могу использовать jump
установить счетчик программы на определенную строку, чтобы я мог пропустить одну или несколько строк (или выполнить несколько строк снова). Могу ли я просто пропустить следующую строку, не вводя номера строк?
Это было бы очень удобно, чтобы "закомментировать" что-то во время выполнения.
3 ответа
jump +1
переходит на следующую строку строки, т.е. пропускает текущую строку. Вы также можете объединить это с tbreak +1
установить временную точку останова на цели прыжка.
См. http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html чтобы узнать больше о способах определения местоположения с помощью gdb.
Обратите внимание, что без точки останова gdb
скорее всего, продолжит выполнение вместо прыжков. Так что, если прыжки не работают, убедитесь, что вы установили точку останова в пункте назначения.
У меня есть следующее в моем .gdbinit
файл конфигурации:
define skip
tbreak +1
jump +1
end
Так что просто введите skip
в GDB пропустить строку.
Чтобы пропустить любое количество строк во время выполнения:
[Current Position -- in GDB] Line N
.......... // Lines To Skip
..........
..........
[Line To Execute - After Jumping] Line M
Поместите точку останова в строку M:
gdb$b M
Перейти к строке M:
gdb$jump M