User`s guide

Setting Breakpoints
61
Stopping If a Variable or Memory Location Has Changed
By including a variable clause in your stop command, you can cause dbx to
stop if the value of a variable or the contents of a memory location has
changed.
If you provide only a variable name in your variable clause, the breakpoint
stops your program if the value of the variable has changed since the last
timedbx checked it. If instead of a variable name, you provide an expression
of type pointer, dbx checks the data pointed to. If the data pointed to is a
structure, dbx checks that structure. If you provide an expression that’s not
of type pointer, dbx evaluates the expression and uses the result as an
address in memory. The breakpoint stops your program if the contents of the
memory location (32 bits) has changed since the last time dbx checked it.
The points at which dbx checks the value of a variable or memory location
depend on the command that you use to set the breakpoint:
stop [expression|variable]
Inspects the value before executing each source line. If the
expression is of type pointer, look at the data pointed to and
watch until it changes.
If the expression is not of type pointer, look at the 32 bits at
that address (assume the expression evaluates to an
address). For example, consider the command:
stop (struct s*) 0x12345678
This command checks the contents of the structure located
at 0x12345678.
stop [expression|variable] at line
Inspects the value at the given source line. Stops if the value
has changed.
If the expression is of type pointer, look at the data pointed
to and watch until it changes. If the expression is not of type
pointer, look at the 32 bits at that address (assume the
expression evaluates to an address).