Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The art of debugging with GDB, DDD, and Eclipse
Matloff N., Salzman P., No Starch Press, San Francisco, CA, 2008. 280 pp. Type: Book (9781593271749)
Date Reviewed: Apr 3 2009

For an otherwise well-done, mostly elementary introduction and tutorial for the Gnu debugger (GDB), this book has an exaggerated and over-reaching title. If you are a seasoned coder looking for the guide to debugging nirvana, you will be disappointed; redirect your search. But if you are a young computer science student or a noncomputer professional on a coding endeavor, and you are struggling with code that should work but doesn’t, you may have found a lifeline.

This book is a gentle introduction to GDB, used with a couple of different graphical user interfaces (GUIs). The examples are written primarily for C, even though there are a few short sections on using GDB with other languages. The authors have a penchant for the traditional approach to development on Unix, using command line tools and powerful editors; you may or may not agree with this approach but, in fact, it works very well in real life and for the purpose of this volume.

The hand-holding tutorial grows from chapter to chapter, from general setup advice to controlled execution, breakpoints, inspection of variables, simple core analysis, and even steps for debugging in concurrent contexts--alas, without any silver bullets or otherwise magical advice. The examples are predictable and at times contrived, but remain relevant and are addressed competently. Abundant suggestions and explanations are sprinkled throughout the text on appurtenant subjects such as compilation, memory management, and program structure; not much is taken for granted as a reader prerequisite. Again, this structure speaks volumes about the original intended audience. Also, be informed that development on platforms other than Unix is not even mentioned--it is not a topic that this book ever planned to cover.

What is not there, although the title suggests it could have been, is an advanced treatise with deep, illuminating, and nontrivial insight into troubleshooting difficult situations, on the bleeding edge of frustration. There are, instead, informative ancillary chapters on text editors and troubleshooting tools, such as lint and strace.

Overall, this feels like a good book, well written for a noble purpose and a clearly defined audience, with a title that was brutally hijacked by some marketing type, for the benefit of glibness and to the detriment of truth. The many coding instructors who consider mastering C and pointers essential to computer scientists and coding professionals will do well to recommend this book to their classes. By diligent application and a few hours of study of this book, at least some of their students can be spared a weekend or two of discouragement about flawed homework. Such students should procure access to a copy, even if the instructor does not recommend it. Technical professionals who craft an occasional application in C to solve an immediate problem should also own this book--it will pay for itself in saved time, the first time it is used.

Reviewer:  A. Squassabia Review #: CR136655 (1002-0113)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Testing And Debugging (D.2.5 )
 
 
Eclipse (D.2.6 ... )
 
 
Parallel Programming (D.1.3 ... )
 
 
Concurrent Programming (D.1.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Testing And Debugging": Date
Software defect removal
Dunn R., McGraw-Hill, Inc., New York, NY, 1984. Type: Book (9789780070183131)
Mar 1 1985
On the optimum checkpoint selection problem
Toueg S., Babaoglu O. SIAM Journal on Computing 13(3): 630-649, 1984. Type: Article
Mar 1 1985
Software testing management
Royer T., Prentice-Hall, Inc., Upper Saddle River, NJ, 1993. Type: Book (9780135329870)
Mar 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy