Как отслеживать переменные в GDB и регистрировать их, если они удовлетворяют определенным условиям? - PullRequest
24 голосов
/ 23 июня 2010

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

Ответы [ 2 ]

29 голосов
/ 23 июня 2010

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

(gdb) watch var

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

(gdb) cond <watchpoint_number> var>=value

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

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

По умолчанию GDB регистрирует в gdb.txt

3 голосов
/ 23 июня 2010

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

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