Debugging

Steven Zeil

Old Dominion University, Dept. of Computer Science

Table of Contents

1. Rules of Debugging
2. You can't debug what you don't understand
2.1. Read the Documentation
2.2. Know What's Reasonable
2.3. Know the Roadmap
3. Make it fail...
3.1. Why "Make It Fail..."?
3.2. Make it fail Reliably
3.3. Make it fail Easily
3.4. Make it fail Visibly
4. Example: the Auction Program
4.1. Failure Report
4.2. Simplifying the Failing Tests
4.3. Instrument the Code
4.4. Working Backwards
4.5. When a New Best Bid is Found
4.6. Adding Detail
4.7. Adding Detail
4.8. Looking at All Bids
4.9. Looking at All Bids
4.10. When Does reservePriceMet change?
4.11. Diagnosis
4.12. Lessons

Testing versus Debugging