naam nahin wrote:
Hi,
I am trying to debug a C++ program on Linux. g++ version is 4.1.3.
While debugging the program under gdb, I get a SIGABRT with the
following backtrace:
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7ce7875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7ce9201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7ef36e0 in __gnu_cxx::__verbose_terminate_handler () from
/usr/lib/libstdc++.so.6
#4 0xb7ef0f65 in ?? () from /usr/lib/libstdc++.so.6
#5 0xb7ef0fa2 in std::terminate () from /usr/lib/libstdc++.so.6
#6 0xb7ef10ca in __cxa_throw () from /usr/lib/libstdc++.so.6
#7 0x08048a5e in foo ()
#8 0x08048ac6 in main ()
It is expected because I am not catching the exception I am throwing.
However, I don't know why I see "??" as the function symbol in frame 4.
Why can't gdb show me the function name for that function?
Because it can't find the debug symbols for the file. When the .so is
compiled, GCC has to be given the -g flag, or no debug symbols will be
produced.
I'm not sure how you can find debug symbols for your libstdc++, short of
re-compiling it.
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus