GDB and debugging techniques

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Kevin Buettner
Date:  
Subject: GDB and debugging techniques
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