Я пытаюсь проследить за процессом многопоточного приложения, записав файл журнала, который должен записывать каждую операцию записи в глобальную переменную, даже если значение не изменяется. В документации GDB говорится, что «watch» прерывается только при изменении значения. Проблема в том, что запись всех обращений с помощью 'awatch' была бы слишком сложной для регистрации. Есть ли способ регистрировать все, изменяя и не записывая операции? Мой сценарий до сих пор:
set pagination off
set logging file variable_writes.txt
set logging on
file EXECUTABLE
# need hardware watchpoint for multi thread support
watch SOME_VARIABLE
commands
silent
p /x SOME_VARIABLE
bt 2
continue
end
run
set logging off
quit