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