> > On Mon, 6 Mar 2006, Michael Shapiro wrote: > > > > Hmm: as you see there is no NAME for that mapping, so this is why you're > > not getting any symbols: we didn't match it to an object file. > > Can you send back the entire $m output? > > You are dead on; 100800000 - 10090e000 doesn't contain a name: > > BASE LIMIT SIZE NAME > 100000000 100400000 400000 /opt/U/_app > 100400000 100800000 400000 > 100800000 10090e000 10e000 > 100a0c000 100ab6000 aa000 /opt/U/_app > > Does anyone happen to know if there is an alternative way to find the > executable or library that is mapped (I am assuming it is mapped, which > may not be the case given Mike' previous comments on dlclose()) at > 100800000? If that isn't possible, is there a way to take an address > (0x10085f2a0 in this case) and resolve it to a symbol name in the file? > My attempts to resolve this by parsing the executable and library symbol > tables has so far been fruitless. > > Thanks again for the feedback, > - Ryan
This may be a bug in libproc or librtld_db in that it should be matching those mappings to the object but is having trouble doing so. If you e-mail the output of elfdump -p /opt/U/_app we can look at that. -Mike -- Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/