GDB and debugging techniques
Kevin Buettner
kev@primenet.com
Sat, 10 Feb 2001 13:00:36 -0700
On Feb 9, 9:57pm, Alan Dayley wrote:
> It is one of my cardinal rules: Always
> step through new code at least the first time you run it. I can save loads
> of time, especially on the dumb errors like:
>
> if (foo = 0)
> {
> ...
> }
The -Wall option to gcc (or -Wparentheses if you don't want the rest of
the -Wall options) will warn you about this kind of construct. E.g...
saguaro:ctests$ gcc -c dumb.c
saguaro:ctests$ gcc -Wall -c dumb.c
dumb.c: In function `f':
dumb.c:6: warning: suggest parentheses around assignment used as truth value
Here's dumb.c:
extern void g(void);
void
f (int foo)
{
if (foo = 0)
g ();
}
Generally, it's a good idea to make your code compile cleanly with
-Wall. The compiler will find all sorts of problems with your code
if you let it.
Kevin