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.

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?

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.

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


Reply via email to