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?