[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How does one get static procedure names?
From: |
Bruce Korb |
Subject: |
Re: How does one get static procedure names? |
Date: |
Tue, 27 Oct 2009 12:33:39 -0700 |
On Tue, Oct 27, 2009 at 12:27 PM, Daniel Jacobowitz <address@hidden> wrote:
> On Tue, Oct 27, 2009 at 11:56:46AM -0700, Bruce Korb wrote:
>> Sorry. When you do a "bt" using gdb, you see the function
>> names, whether they be "static" or have global (external)
>> linkage. The function backtrace_symbols(), on the other
>> hand, doe *not* print static scope function names. Even if
>> it takes some work, I'd like to "fix" the constraint. However,
>> I wasn't able to decipher the gdb source well enough to figure
>> out how it accomplished this feat. So, is there some place
>> in the GDB source where I ought to be looking?
>
> You can't readily do so. backtrace_symbols is using the dynamic
> symbol table, which is loaded into memory. Local symbols are not
> added to the dynamic symbol table.
>
> GDB reads both the local symbol table and the DWARF/stabs debug
> information.
>
> You'd need an additional symbol table reader which read them off disk
> instead of out of RAM.
Exactly. I know it'd be some work. I think I need to
call: dlopen(NULL, RTLD_NOW)
and then copy & fiddle code out of GDB. yes? :)
Or, do I have to figure out the actual file name and replace
NULL with that file name? Either way....now what?
Just point me to some code & I ought to be okay.