Могу ли я использовать GDB, чтобы пропустить строку, не вводя номера строк? - PullRequest
56 голосов
/ 28 октября 2010

Я знаю, что могу использовать jump, чтобы установить счетчик программы на определенную строку, и поэтому я могу пропустить одну или несколько строк (или выполнить несколько строк снова).Можно ли просто пропустить следующую строку, не вводя номера строк?

Было бы очень удобно «закомментировать» что-то во время выполнения.

Ответы [ 3 ]

67 голосов
/ 28 октября 2010
jump +1

переходит на следующую строку строки, т.е. пропускает текущую строку. Вы также можете комбинировать его с tbreak +1, чтобы установить временную точку останова на цели прыжка.

См. http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html, чтобы узнать больше о способах определения местоположения с помощью GDB.

Обратите внимание, что без точки останова gdb, скорее всего, продолжит выполнение в обычном режиме вместо прыжков. Поэтому, если прыжки не работают, убедитесь, что вы установили точку останова в пункте назначения.

17 голосов
/ 08 апреля 2016

В моем файле конфигурации .gdbinit есть следующее:

define skip
    tbreak +1
    jump +1
end

Так что просто наберите skip в gdb, чтобы пропустить строку.

5 голосов
/ 16 августа 2013

Чтобы пропустить любое количество строк во время выполнения:

[Current Position -- in GDB] Line N
.......... // Lines To Skip
..........
..........
[Line To Execute - After Jumping] Line M

Установить точку останова на строке M:

gdb$b M

Перейти к строке M:

gdb$jump M
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...