When Debugging, Think Abstractly
Debugging is like solving a mystery … except you don’t want to know who dunit, so much as what dunit
An effective way to proceed is to …
Think about what you know … the facts
Consider what should be true … the assumptions
Formulate a test hypothesis … gather evidence
Work intelligently … assess if you’re making progress
Though debugging can be frustrating, many times the “solving a mystery” aspect of it is rewarding.