- Duplicate the problem
- Do not think too much
- Narrow down and focus
Don't guess. Act like a detective and look at clues. Once you think you have a solution, run the system with the same conditions that exhibited the problem and demonstrate that the specific problem was indeed fixed.
Record each step required to make the problem occur. Do not fake the problem. Actually make it happen like it does in real use. You might need to employ automation to speed up the process of creating the bug. That is fine.
I will continue next time with some more general rules for debugging. You know I will come back to tools. And I will examine cause and effect.