A debugger is a computer program that is used to test and debug other programs. Both sys admin and developers may use debugger to examine code or halt instructions when specific conditions are encountered using an instruction set simulator (ISS).
The GNU Debugger (GDB) is used as debugger for the GNU software. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, and C++.
Debugging, the demanding process of finding and fixing programming errors, is fundamental to successful software development. But even many experienced programmers find debugging a challenge.
The Art of Debugging with GDB, DDD, and Eclipse (No Starch Press, September 2008, 280 pp, ISBN 9781593271749) teaches readers how to effectively use the three most popular open source debugging tools:
The text-command based GDB is included with most Linux distributions. DDD is a popular GUI front end for GDB, while Eclipse provides a complete integrated development environment.
In the book, readers learn how to:
- Inspect variables and data structures
- Understand segmentation faults and core dumps
- Use features like catchpoints, convenience variables, and artificial arrays
- Avoid common debugging pitfalls
- Prevent errors in the first place by making the best usage of editors, compilers, and static code checkers
The book also includes coverage of advanced topics like thread, client-server, GUI, and parallel programming. Whether readers dread the thought of debugging programs or simply want to improve their current debugging efforts, they'll find a valuable ally in The Art of Debugging with GDB, DDD, and Eclipse.
The book is written by Norman Matloff - a computer science professor at UC Davis and Peter Jay Salzman who is currently a programmer with a Wall Street financial firm. The authors are well-known for their popular online debugging tutorials, and a printed book is long overdue.
The Art of Debugging offers readers specific advice for debugging with each tool and explains general debugging strategies. Real world examples of coding errors help to clarify the authors' guiding principles, and readers will quickly understand why their programs crash or throw exceptions.