Header
Table of Contents
DebuggingŠThe Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
Chapter 1: Introduction
Overview
How Can That Work?
Isn't It Obvious?
Anyone Can Use It
It'll Debug Anything
But It Won't Prevent, Certify, or Triage Anything
More Than Just Troubleshooting
A Word About War Stories
Stay Tuned
Chapter 2: The Rules-Suitable for Framing
Chapter 3: Understand the System
Overview
Read the Manual
Read Everything, Cover to Cover
Know What's Reasonable
Know the Road Map
Know Your Tools
Look It Up
Remember
Understand the System
Chapter 4: Make it Fail
Overview
Do It Again
Start at the Beginning
Stimulate the Failure
Don't Simulate the Failure
What If It's Intermittent?
What If I've Tried Everything and It's Still Intermittent?
A Hard Look at Bad Luck
Lies, Damn Lies, and Statistics
Did You Fix It, or Did You Get Lucky?
"But That Can't Happen"
Never Throw Away a Debugging Tool
Remember
Make It Fail
Chapter 5: Quit Thinking and Look
Overview
See the Failure
See the Details
Now You See It, Now You Don't
Instrument the System
Design Instrumentation In
Build Instrumentation In Later
Don't Be Afraid to Dive In
Add Instrumentation On
Instrumentation in Daily Life
The Heisenberg Uncertainty Principle
Guess Only to Focus the Search
Remember
Quit Thinking and Look
Chapter 6: Divide and Conquer
Overview
Narrow the Search
In the Ballpark
Which Side Are You On?
Inject Easy-to-Spot Patterns
Start with the Bad
Fix the Bugs You Know About
Fix the Noise First
Remember
Divide and Conquer
Chapter 7: Change One Thing at a Time
Overview
Use a Rifle, Not a Shotgun
Grab the Brass Bar with Both Hands
Change One Test at a Time
Compare with a Good One
What Did You Change Since the Last Time It Worked?
Remember
Change One Thing at a Time
Chapter 8: Keep an Audit Trail
Overview
Write Down What You Did, in What Order, and What Happened
The Devil Is in the Details
Correlate
Audit Trails for Design Are Also Good for Testing
The Shortest Pencil Is Longer Than the Longest Memory
Remember
Keep an Audit Trail
Chapter 9: Check the Plug
Overview
Question Your Assumptions
Don't Start at Square Three
Test the Tool
Remember
Check the Plug
Chapter 10: Get a Fresh View
Overview
Ask for Help
A Breath of Fresh Insight
Ask an Expert
The Voice of Experience
Where to Get Help
Don't Be Proud
Report Symptoms, Not Theories
You Don't Have to Be Sure
Remember
Get a Fresh View
Chapter 11: If You Didn't Fix it, It Ain't Fixed
Overview
Check That It's Really Fixed
Check That It's Really Your Fix That Fixed It
It Never Just Goes Away by Itself
Fix the Cause
Fix the Process
Remember
If You Didn't Fix It, It Ain't Fixed
Chapter 12: All the Rules in One Story
Chapter 13: Easy Exercises for the Reader
Overview
A Light Vacuuming Job
A Flock of Bugs
A Loose Restriction
The Jig Is Up
Chapter 14: The View From the Help Desk
Overview
Help Desk Constraints
The Rules, Help Desk Style
Understand the System
Make It Fail
Quit Thinking and Look
Divide and Conquer
Change One Thing at a Time
Keep an Audit Trail
Check the Plug
Get a Fresh View
If You Didn't Fix It, It Ain't Fixed
Remember
The View From the Help Desk Is Murky
Chapter 15: The Bottom Line
Overview
The Debugging Rules Web Site
If You're an Engineer
If You're a Manager
If You're a Teacher
Remember
List of Figures
List of Sidebars
Current