This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
backtrace shows ?? instead of function names in gdb
- From: "Saurabh Thukral" <saurabhth at gmail dot com>
- To: gdb at sourceware dot org
- Date: Wed, 13 Jun 2007 14:32:23 +0530
- Subject: backtrace shows ?? instead of function names in gdb
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