Andrew Gallatin writes:
> Thanks, that helps a lot.  Unfortunately, it confirms that the modules
> that were built by somebody else don't have the symbol information
> I was looking for.  Luckily, I was able to track down the bug
> I was working on using a different tactic.

I usually just read through the assembly code to figure out where a
given instruction exists in the source.  It's often the case that line
numbers (if they were available at all) would be extremely misleading,
because the compiler makes a number of optimizations (such as
eliminating common code sequences) that obscure the relationship
between object and source.

"address/i" in mdb tells you where you are.  "address::dis" tells you
more.

One handy trick is to do this in mdb:

        functionname::dis ! grep call

That shows all of the locations of the function calls in the given
parent function.  Noting where an address falls amid the calls can
usually give you a fair idea of the approximate location in the source
-- and reading the assembly output will nail it.

-- 
James Carlson, Solaris Networking              <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to