Incorrect symbol name displayed in backtrace

William Tambe tambewilliam@gmail.com
Thu Feb 6 04:37:00 GMT 2020


Below is an example of backtrace where I find that GDB printed a
symbol name that is not found at the address shown in the backtrace.
In the example below, GDB says that  __kprobes_text_start() is at
0x0039f000, however when I used p (void *)0x0039f000, it prints the
correct symbol name at 0x0039f000.

(gdb) bt
#0  0x05000100 in _start ()
#1  0x0039f000 in __kprobes_text_start ()
Backtrace stopped: frame did not save the PC
(gdb) p (void *)0x0039f000
$6 = (void *) 0x39f000 <__tramp_exit>


Any idea what is the difference in the way symbol names are printed in
the backtrace and by the command "p" ?



More information about the Gdb mailing list