Debuggers and Debugging Techniques

Writing code is only the beginning of completing a programming project. After the original implementation is complete, it is time to test the program. Unfortunately, only the rare (and usually non-priority) code project is completed without a single bug. Hence, debugging takes on great importance: the earlier you find an error, the less it will cost. A major bug found before distribution is much, much cheaper to fix than a major bug found by thousands of your users.

A debugger allows you, the programmer, to interact and inspect the running program, making it possible to trace the flow of execution and track down the problems. Read on for tutorials on debuggers like GDB and Visual Studio, as well as more exotic and powerful tools like Valgrind.

GDB

GDB is the standard debugger for Linux and Unix-like operating systems.

Static Analysis

Advanced Linux Debugging

Visual Studio

Visual Studio is a powerful editor and debugger for Windows

General Debugging Stratgies