This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Bizarre GCC problem - how do I debug it?
- From: Bruce Korb <bruce dot korb at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 06 Aug 2010 10:19:47 -0700
- Subject: Bizarre GCC problem - how do I debug it?
The problem seems to be that GDB thinks all the code belongs to a
single line of text. At first, it was a file of mine, so I presumed
I had done something strange and passed it off. I needed to do some
more debugging again and my "-g -O0" output still said all code
belonged to that one line. So, I made a .i file and compiled that.
Different file, but the same problem. The .i file contains the
correct preprocessor directives:
# 309 "wrapup.c"
static void
done_check(void)
{
but under gdb:
(gdb) b done_check
Breakpoint 5 at 0x40af44: file /usr/include/gmp.h, line 1661.
the break point *is* on the entry to "done_check", but the
source code displayed is line 1661 of gmp.h. Not helpful.
Further, I cannot set break points on line numbers because
all code belongs to the one line in gmp.h.
Yes, for now I can debug in assembly code, but it isn't very easy.....
$ gcc --version
gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I've googled for: gcc|gdb wrong source file
which only yields how to examine source files in gdb.