I would like to know if there is any way in which I can monitor a value of a variable until for example a counter reaches a value and then log the output of variable value during each counter value?
2 Answers
Set a watch point on the counter:
(gdb) watch var
And make that watchpoint conditional:
(gdb) cond <watchpoint_number> var>=value
If you want to log to a file:
(gdb) set logging file <filename>
(gdb) set logging on
By default gdb logs to gdb.txt
1 Comment
kp11
How do I log it to an output file? what is th epath of default log file if I say "set logging on"
You can use watchpoints to make gdb monitor the value of a variable, and break execution of the program when the value changes. Once execution is stopped, you can use gdb's command set to inspect and print the value. I'm not sure if you can script gdb to do this automatically each time it breaks.
4 Comments
Jerinaw
This might help sourceware.org/gdb/onlinedocs/gdb/Auto-Display.html
psmears
@Jerinaw What answer are you talking about?
Jerinaw
You wrote "Yes, you can do that too - check out the "commands" command..." it would have been more helpful to provide a link to the command that answers the question.
MrAliB
Here is a link to the commands command sourceware.org/gdb/current/onlinedocs/gdb/…