This is a book about bugs in computer programs—how to reproduce them, how to find them, and how to fix them such that they do not occur. This book teaches a number of techniques that allow you to debug any program in a systematic, and sometimes even elegant, way. Moreover, the techniques can be widely automated, which allows you to let your computer do most of the debugging. Questions this book addresses include:
How can I reproduce failures faithfully?
How can I isolate what is relevant for the failure?
How does the failure come to ...