Подтвердить что ты не робот

Как контролировать переменные в GDB и регистрировать его, если он соответствует определенным условиям?

Я хотел бы знать, есть ли способ отслеживать значение переменной до тех пор, пока, например, счетчик не достигнет значения и не запустит вывод значения переменной во время каждого значения счетчика?

4b9b3361

Ответ 1

Установите точку наблюдения на счетчике:

(gdb) watch var

И сделайте эту точку наблюдения условной:

(gdb) cond <watchpoint_number> var>=value

Если вы хотите войти в файл:

(gdb) set logging file <filename>
(gdb) set logging on

По умолчанию gdb записывается в gdb.txt

Ответ 2

Вы можете использовать watchpoints, чтобы gdb отслеживал значение переменной и прерывал выполнение программы при изменении значения. Как только выполнение остановлено, вы можете использовать набор команд gdb для проверки и печати значения. Я не уверен, что вы можете script gdb делать это автоматически каждый раз, когда он ломается.