By Peter Toft, Denmark, September 2008
I have been working with software for many years, and with Linux
systems for 15 years professionally. When maintaining and developing
software you know that you have to use "debugging tools", but most
users will simply resort to "printf" when debugging C/C++ code. This
book tries to make a difference here. The book both described how the
C/C++ tool chains work, and then systematically describes which tools
to use in which context - and describes the tool usage in many
examples. The book has a bias towards Linux (UNIX) systems, but is
also relevant for Windows developers.
When debugging you can most often spend LOTS of time. I was skilled
already before reading the book - but there were quite a few places in
the book I had to mark "this is very clever, and I have to try this
asap". The end result after reading the book is that you can do way
more effective debugging with open source SW tools like gdb and
valgrind.
When I above write "tries", then I must also add the word "succeeds".
This is a good book. If you want to be a more productive C/C++
developer buy the book. It will help you a lot.
Peter Toft Danish Open Source evangelist, writer, blogger, conference
organizer, and Senior specialist in algorithm design too :)
By Sandro Rigo, Campinas, Brazil, September 2008
I have been teaching computer programming to CS and CE undergraduate
students in their early stages of their courses. One of the toughest
concepts to teach is debugging. It is common to see them relying on
printf-based techniques to debug their programs even in the last
stages of the course, just because they did not invested enough time
on learning an appropriate approach to SW debugging.
That is exactly where this book can be very valuable, presenting a
systematic approach for debugging and a lot of interesting
tricks/techniques that any code developer can benefit from.
This book is a very interesting reading for SW developers, I am sure
that even the most experienced ones can find at least a couple of
useful tricks to add to their arsenal against the most annoying bugs.
By Prof Dr W. Rosenstiel, Universität Tübingen, Germany, September 2008
The Developer's Guide to Debugging
The book The Developer's Guide to Debugging is a detailed
introduction to the world of "debugging" in C/C++-programs. The
authors explain by means of many examples a huge amount of
debugging-tools (GDB, Valgrind etc.). The authors also take into
account special cases, like the debugging of parallel programs. So,
tools as well as debugging-techniques are described. There is also a
particular chapter dealing with performance-optimization, to be exact,
with the debugging that affect the efficiency of the program.
The book not only offers a helpful survey to beginners, but also to
experienced "bug-hunters". At the end of each chapter there appears a
list giving further literature. This indeed is quite helpful when it
comes to certain debugging-topics.
There is one thing that could be criticized and that is the short
index, but that is compensated by the precise structure.
To summarize, this is a very helpful book for software developers
which I strongly recommend to read and use.
By Andrea Kroll, September 2008
Printf is a great tool, but not the answer to all debugging problems.
Reading this book I realized that there are a lot more tools out there
available to everyone. They are equally easy to use and provide a lot
more help to find even the nastiest bugs in any kind of SW
application.
It is clear that the writers have a lot of experience with supporting
users and customers at different level of SW expertize, while being SW
developers themselves. They provide a step by step description of
various interesting tricks. They do not assume that you are the SW
guru with years and years of SW development experience. Still there
are surprising new approaches for the experts not only in the advanced
debugging chapter. The examples are easy to reproduce and work.
The book is even entertaining. You can read it cover to cover, while
meeting the bug-family with all their flaws and their tricks to hide,
together with people, I am sure you will recognize.
This is a must read for SW engineers, if you want to be more
productive and maybe finally get some sleep, because you got your boss
(or your customer) off your back.