[patch]: User choice for multiply-defined symbols
Markus Deuling
deuling@de.ibm.com
Thu May 8 11:43:00 GMT 2008
Daniel Jacobowitz schrieb:
> GDB has done this for years and years. I guess these are just normal
> C symbols rather than C++ overloaded symbols, though, so that's the
> difference?
>
> I'm worried about all the different ways of dealing with lists of
> symbols. If we can already ask to set a breakpoint at foo(int) or
> foo(int, int) why does this code have to be in a separate place?
>
It improves user experience. If there are symbols with the same name (it doesn't care about
the signature of a function) in different modules of your application you *can* now ask GDB to let you choose
which of them to take. Normal operation would be to return the first symbol found.
Another advantage is, that the user is now able to choose one or more symbols from the list. For example:
(gdb) break foo
[0] cancel
[1] all
[2] foo at ../../../../src/gdb/testsuite/gdb.base/multiple_symbols_mod.c:5
[3] foo at ../../../../src/gdb/testsuite/gdb.base/multiple_symbols.c:14
[4] foo at ../../../../src/gdb/testsuite/gdb.base/multiple_symbols_two.c:42
[5] foo at ../../../../src/gdb/testsuite/gdb.base/multiple_symbols_three.c:23
The user can choose for example symbol 3 and 5 for setting a breakpoint.
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
More information about the Gdb-patches
mailing list