Chapter 8 of 10All chapters
Chapter 8 of 10
Reading the evidence
Stack traces, logs and assumptions.
Start at the top
A stack trace names the file, the line and the path that got there. Read it before theorising: most of the time it says exactly what is wrong.
- Check your assumption about what a value actually is at that moment.
- The bug is usually in your code, not the library. Usually.
Logging deliberately
Log the values that would confirm or refute your hypothesis, not everything. Structured logs with a request id let you follow one journey through a busy system.