Я хотел бы знать, существует ли какой-либо путь, которым я могу контролировать значение переменной до, например, счетчик достигает значения, и затем зарегистрируйте вывод значения переменной во время каждого встречного значения?
Установите точку наблюдения на счетчике:
(gdb) watch var
И сделайте эту точку наблюдения условной:
(gdb) cond <watchpoint_number> var>=value
Если вы хотите вести журнал в файл:
(gdb) set logging file <filename>
(gdb) set logging on
По умолчанию gdb ведет журнал в gdb.txt
Вы можете использовать точки наблюдения , чтобы заставить GDB отслеживать значение переменной и прерывать выполнение программы при изменении значения. После остановки выполнения вы можете использовать набор команд gdb для проверки и печати значения. Я не уверен, что вы можете скрипт gdb делать это автоматически каждый раз, когда он ломается.