Могу ли я использовать 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
Другие вопросы по тегам