[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/