This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: info addr foo [where foo is a static global in multiple files]
- From: Michael Snyder <msnyder at specifix dot com>
- To: Doug Evans <dje at google dot com>
- Cc: gdb <gdb at sourceware dot org>
- Date: Wed, 02 Apr 2008 13:02:10 -0700
- Subject: Re: info addr foo [where foo is a static global in multiple files]
- References: <e394668d0804021252q727e9721ra17771cdb28d70bd@mail.gmail.com>
On Wed, 2008-04-02 at 12:52 -0700, Doug Evans wrote:
> If I want to find the addresses of all variables named foo, it seems
> like there should be an easy way to do this. "info addr foo" will
> only print one. There's also the issue that if I only want one it may
> not print the one I want. Should it print all of them?
>
> The user could study the output of "info var foo" and do things like
> "p/x &'file.c'::foo" for each variable, but that seems a bit clumsy
> (and doesn't work if the files all happen to have the same name).
>
> [As a workaround, the user could do "maint print symbols", but I
> wonder if "info addr" should change.]
Hmmm... good question.
By the same token, the mirror image of "info addr" is
"info symbol". It takes an address, and finds a symbol
that matches. In some corner cases, there might be more
than one symbol at the same address, but I assume info
symbol will only show the first one found. Maybe that
should be addressed too (no pun intended).