Mail Archives: djgpp-workers/2000/02/24/07:44:15
Did someone notice some debugging problems with GCC 2.95.2? For example,
the short test program below, when compiled with GCC 2.95.2, cannot be
stepped on the source level. That is, the following sequence:
gdb fpfunc
b main
r
s
causes the program to run to completion after the `s' command, instead of
stepping into dfunc(). This doesn't happen with GCC 2.7.2.1. I tried
both -g and -gstabs with 2.95.2, it behaves the same with both.
FWIW, the command to compile was "gcc -Wall -O -g -o fpfunc fpfunc.c".
This might seem like a toy problem, but I have seen similar problems in
much larger programs, like Emacs: some breakpoints simply don't break
even though I *know* the program passed those points. Come to think of
it, all the cases I saw were when the breakpoint was set on the entry to
a function. Again, when compiled with GCC 2.7.2.1, the breakpoints
behave like expected.
Any ideas?
#include <math.h>
double dfunc (double a)
{
return a * sqrt (a);
}
float ffunc (float b)
{
return b * (float)dfunc (b);
}
int main (int argc, char *argv[])
{
return (dfunc (argc) > 2 ? 0 : 1);
}
- Raw text -