Thanks to Jonathan and Mike. Yes, I was using the old # instead of ` delimiter. (I couldn't remember the delimiter so I was looking at the kmdb docs, but apparently I misread or omitted details.)
-- Garrett Jonathan Adams wrote: > On Tue, Aug 01, 2006 at 10:13:02AM -0700, Garrett D'Amore wrote: > >> Today I was trying to debug a problem with the cardbus driver in b44 >> using kmdb, and I tried to set a break point using the delayed syntax >> that I recall using back in the Solaris 8 days: >> >> boot kadb -d >> >> boots and leaves me in the kmdb prompt, which I then type: >> >> cardbus`cardbus_rootnex_map+8:b >> >> To set a delayed breakpoint in the cardbus_rootnex_map function in the >> cardbus module. Imagine my surprise when instead of taking the >> breakpoint (note that cardbus is not loaded as show by ::modinfo), I get >> a complaint from kmdb that the symbol cannot be resolved. >> > > ::bp cardbus`cardbus_rootnex_map+8 > > is the syntax you want. I'm fairly sure you needed to do: > > cardbus#cardbus_rootnex_map+8:b **kadb only, doesn't work in kmdb** > > in kadb to do a deferred breakpoint; the ` syntax you used wouldn't work. > (not that the '#' syntax works in kmdb.) > > >> Of course it can't be resolved! I'm trying to use a delayed break >> point, the module isn't loaded yet. >> >> The cardbus_rootnex_map function is declared static in the cardbus.c >> module. Back in Solaris 8 days, kadb had no problem with static functions. >> >> Am I just being a dunce? Has kadb/kmdb changed somehow significantly so >> that it can't resolve static symbols? >> > > Yes; the way you do a deferred breakpoint has changed. This is all > documented > in Appendix C of the Solaris Modular Debugger Guide for Solaris 10 and later. > A current link (which will no doubt become defunct in about a month) is: > > http://docs.sun.com/app/docs/doc/816-5041/6mb7ae3lv?a=view > > >> Note also that I'm doing this on a US-3i platform for which uname -i is >> not "standard". (TAD,Viper). So the /platform links aren't set up. >> Solaris boots fine this way, but does kmdb need some kind of link >> somewhere? If so I'd appreciate any advice. I didn't see anything >> obvious /platform for it. >> > > No, I don't think that's necessary. > > Cheers, > - jonathan > > -- Garrett D'Amore, Principal Software Engineer Tadpole Computer / Computing Technologies Division, General Dynamics C4 Systems http://www.tadpolecomputer.com/ Phone: 951 325-2134 Fax: 951 325-2191