Debugging is definitely an art but, there are many brushes that can be used when painting an application. This book takes a look at three of the most used alternatives in embedded applications. These tools include the open source gdb, ddd, and Eclipse debuggers.
Most developers use only one debugger but it is quite handy to know about others. Likewise, you might want to consider a move from gdb to Eclipse or vice-versa depending upon the platform you might be debugging. This book provides an excellent contrast between each by showing how to perform the same function in each environment.
It helps to know at least how to use a typical debugger. It is even better if you know one of the debuggers covered in the book but that is not a requirement for getting a good deal from the book. Matloff and Salzman start with the basics and end up at the more advanced topics such as multithread and multicore debugging.
There is some coverage of other tools such as the Linux Trace Toolkit and static analysis tools like splint but the bulk of the material concentrates on the methodologies, advantages and disadvantages of the main debuggers. The authors cover common debugging problems such as segmentation faults in addition to common debugging pitfalls to avoid so this can be a useful learning tool for novice debuggers.