tags:

views:

54

answers:

2

Hi,

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?

A: 

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.

unwind
Yes, you can do that too - check out the "commands" command...
psmears
A: 

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

ninjalj
How do I log it to an output file? what is th epath of default log file if I say "set logging on"
kartik
Added info on loggin to the answer.
ninjalj