Debugging: The 9 indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems

This book is a must read for any engineer or problem solving person. It describes a set of nine basic rules to use while debugging systems. The rules are illustrated with a large number of examples of problem solving attempts both successful and unsuccessful. These "war stories", as they are called by the author, help to cement the content and give memorable illustrations of why the rules are important. The rules are not anything complicated and most boil down to common sense, but having them stated and shown through example is invaluable. A full list of the rules can be seen in the poster on the authors website here