gdb no symbol table loaded for core file

2019-05-07 10:15发布

问题:

There was a core dump produced at the customer end for my application and while looking at the backtrace I don't have the symbols loaded...

(gdb) where
#0  0x000000364c032885 in ?? ()
#1  0x000000364c034065 in ?? ()
#2  0x0000000000000000 in ?? ()
(gdb) bt full
#0  0x000000364c032885 in ?? ()
No symbol table info available.
#1  0x000000364c034065 in ?? ()
No symbol table info available.
#2  0x0000000000000000 in ?? ()
No symbol table info available.

One think I want to mention in here is that the application being used is build with -g option.

To me it seems that the required libraries are not being loaded. I tried to load the libraries manually using the "symbol-file", but this doesn't help.

What could be the possible issue?

回答1:

No symbol table info available.

Chances are you invoked GDB incorrectly. Don't do this:

gdb core
gdb -c core

Do this instead:

gdb exename core

Also see this answer for what you'll likely have to do to get meaningful crash stack trace for a core from customer's machine.



回答2:

This happens when you run gdb with path to executable that does not correspond to the one that produced the core dump.

Make sure that you provide gdb with the correct path.

<put an example of correct code or commands here>