[Charset ISO-8859-1 unsupported, filtering to ASCII...]
> I have a query on user-level watchpoints. How do I get mdb
> to not stop when a watchpoint is hit? Basically I want to
> get a complete list of stacks which write to a particular
> memory location and obviously I do not want to do a ":c"
> every time the watchpoint is hit.
> 
> This is what I am attempting to do
> 
> # mdb /usr/lib/fs/ufs/mkfs
> > fscs::wp -w -c"$c" -n 1000 -L 175104
> > ::run -F ufs /dev/rdsk/c1t2d0s0 17672816
> ld.so.1`memcpy+0x194(ff3f00fc, ff3f3320, 0, 20204, c, c)
> ld.so.1`relocate_lmc+0x8c(ff3f00fc, c, ff3f3320, ff3f00fc, 0, 1)
> ld.so.1`setup+0x1308(fff00000, c10004, ff3f02e8, 602, ff3f0278, 0)
> ld.so.1`_setup+0x3a4(10034, ffffffff, ffbffe34, ff3c0000, 0, ffffffff)
> ld.so.1`_rt_boot+0x88(0, 0, 0, 0, 0, 0)
> 0(0, 0, 0, 0, 0, 0)
> mdb: stop on write of [mkfs`fscs, 0x1adfb0)
> mdb: target stopped at:
> ld.so.1`memcpy+0x194:   stb       %o4, [%o0]
> >
> 
> Though ::help of ::wp suggests that "-n" option is exactly for
> this purpose, this does not seem to work. Am I missing something?
> 
> This aside, is there a way to specify two actions for the -c option
> itself? Basically, How can I acieve "$c,:c" for -c ?
> 
> Thanks,
> Vidya Sakar

The ";" character is a command delimiter, so -c "$c;:c" should do
what you want.  You have to force the debugger to continue.

The -n option is something different -- this is used to force a stop
when the hit count matches the hit limit specified by -n, i.e. stop
on the Nth occurrence of this event.  See mdb(1) under ::evset for
an explanation of that behavior and how to change it.

-Mike

-- 
Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/

Reply via email to