Debugging Real Systems
Reproducing failures, following evidence across boundaries, and explaining what actually broke.
- Reproduce the Failure Before Repairing It
- Production Bugs Can Live in the Data, Not the Code
- Logging Is a Workload, Not a Side Effect
- A Failure Timeline Can Eliminate the Best-Looking Suspect
- Runtime Configuration Is Process State
- Silencing an Error Does Not Protect the Customer
- A Timeout Is Part of the Contract
- Retries Can Multiply the Original Failure
- A Correlation Identifier Is a Boundary Contract
- Test Cannot Prove Production When It Runs Different Rules
- A Release Gate Must Fail Before Incompatible Code Goes Live
- Debugging Ends with an Explanation, Not a Green Build