Friday, April 24, 2009

Book Reviews, October 2008

By Prof. Dr. Andreas Koch, TU Darmstadt, Germany, October 2008

While the focus of this work is somewhat narrower than the title suggests, it does an excellent job of covering the debugging of C/C++ programs with a non-exclusive emphasis of the Linux and Unix environments. It contains a wealth of practical advice, ranging from basic methodology and debug-friendly code style to detailed usage examples of a plethora of dedicated software tools.

The easy-to-read text allows beginners to get started by introducing the use of a classical source-level debugger such as GDB. It then proceeds to cover a wide variety of techniques, some of them often unfamiliar to even experienced developers (e.g., the use of LD_DEBUG). Among the most useful parts of the book is the discussion of a number of open-source and commercial debugging tools based on practical examples, including memory and performance optimization and the debugging of multi-threaded parallel programs. Both the specific use of the tool (such as command line options) as well as the interpretation of its output are well explained. These descriptions considerably lower the barrier-of-entry for using the sometimes very powerful multi-function tools (e.g. valgrind) and give the reader a good base for diving into the tool-specific documentation.

In summary, the book should be quite helpful for most C/C++ developers. I definitely will recommend it to my students who are working on such projects.


By Johannes Stahl, Cupertino, CA, USA, October 2008

Are you a marketing executive in the software tools industry? Then this is the book for you. If you have written your last line of C-code more than a decade ago, such as myself, you will find that the world has evolved quite a lot from "printf" debugging.

If your customer is no longer calling the hotline, but starts to elevate the issue to you, it is time for you to understand, what is going on behind the scenes in your engineering organization. What are the secret ingridients of their debugging soup to cure the problem?

The book offers a very comprehensive review of all relevant techniques. It shows the basics as well as advanced techniques and can serve as a good reference for the challenges and solutions of software tools debugging. The authors do a good job of balancing the book for readability for novices and as well offering practical examples which drill a little deeper.

I highly recommend the book for anybody managing complex software tools. Know what your engineering team is talking about - more power to you!


By Christos Kontas, Greece, October 2008

I am a software programmer and one of the readers of your book "The Developer's Guide to Debugging".

I've just read your book about debugging and I may say I found it unexpectedly very interesting. Not only the examples about debugging are excellent (an always fascinating literature issue), I also got amazed from the systematic approach on debugging tools and techniques and their categorization.

Debugging is indeed a very crucial ability for each developer, and yet is almost always disregarded and ignored by most of us. Maybe it's because of its hard nature, but this is, of course, no excuse.