Debug It! will equip you with the tools, techniques, and approaches to help you tackle any bug with confidence. These secrets of professional debugging illuminate every stage of the bug life cycle, from constructing software that makes debugging easy; through bug detection, reproduction, and diagnosis; to rolling out your eventual fix.
Whether you’re writing Java or assembly language, targeting servers or embedded micro- controllers, or using agile or traditional approaches, the same basic bug-fixing principles apply.
You’ll learn an empirical approach that leverages your software’s unique ability to show you what’s really happening, the importance of finding a reliable and convenient means of reproducing a bug, and how to avoid common pitfalls. You’ll see how to use commonly available tools to automatically detect problems before they’re reported by customers. You’ll construct “self-debugging” software that automatically provides access to crucial internal information and identifies the broken assumptions that lead to bugs.