Every software developer understands the crucial importance of effective debugging. Often, debugging consumes most of a developer's workday, and mastering the required techniques and skills can take a lifetime. In Effective Debugging, Diomidis Spinellis helps you accelerate your journey to mastery, by systematically categorizing, explaining, and illustrating scores of today's best methods, strategies, techniques, and tools.
Drawing on more than twenty-five years of experience, Spinellis helps you expand the arsenal of techniques you're comfortable with, and choose the approaches that work best for each challenge. He presents vendor-neutral, example-rich coverage of general principles, high-level strategies, concrete techniques, high-efficiency tools, creative tricks, and the behavioral traits associated with effective debugging. His 66 step-by-step techniques address every facet of debugging, including
- Building an effective debugging environment
- Tracking issues and reproducing problems
- Using online resources
- Stepping through code, adding breakpoints, and using call stacks
- Optimizing and automating debugging workflows
- Collaborating with others on debugging
- Debugging at compile time and run time
- Simplifying, rewriting, and improving code to avoid bugs
- Using debug mode
- Varying execution environments
- Working with command line tools
- Making the most of revision control and logs
- Debugging multithreaded, asynchronous, and embedded device code
- And much more