This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How does one get static procedure names?


On Tue, Oct 27, 2009 at 12:27 PM, Daniel Jacobowitz <drow@false.org> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]