backtrace shows ?? instead of function names in gdb

Saurabh Thukral saurabhth@gmail.com
Wed Jun 13 09:02:00 GMT 2007


Hi all,

While debugging a core file produced by a program, I found the
following backtrace:
#0  0x0000000000000000 in ?? ()
#1  0x000000010009e4c0 in stMesg ()
#2  0x000000010009e380 in stMhandler ()
#3  0x000000010088351c in stSchedule ()
#4  0x000000010087bd5c in stRun()
#5  0x000000010008c030 in main ()

I am unable to understand the reason for gdb displaying ??() in frame
#0 instead of a valid function name.

System: SunOS 5.10 64 bit
             gdb version 5.3. This problem is encountered in gdb
version 6.1 also.

I tried to find a post related to this problem and came across the
following post:
http://sourceware.org/ml/gdb/2007-03/msg00167.html. The reason that
was posted is reproduced below:

>Because GDB could not figure out what came next.  The library might be
>too optimized and stripped, or the stack might be corrupt, or GDB
>might have a bug, or some other operating system specific problem.

I have a few queries
1. What is the meaning of too optimized ? Should we avoid compiling
with highest level of optimisation - in that case we will be forgoing
performance ?
2. Please suggest a solution by which such backtraces can be avoided ?

Please help,
Thanks,
Saurabh



More information about the Gdb mailing list