While debugging
Tuesday, 4 January, 2011 — development
The following are things I should generally keep in mind when I’m deep in code debugging. Inevitably, if I spend more than five minutes trying to track down a problem, it boils down to something like the following:
- The documentation is lying
- Well, more likely, I’ve misread the documentation and I’m not passing an argument correctly
- The path to the binary being called isn’t correct
- The wrong Gem, CPAN module or system library version is getting called
- Something isn’t spelled right
- I’m not connected to the right server or database
- I’m on the wrong branch of code
- I don’t have the right credentials
- With RSpec tests failures might mean the database isn’t truncated after a previous test run failed
- Something isn’t plugged in
- The code being debugged was coded in an eval block and the debugger is going to lie about where it is
- The bug could stand to be reduced … further
- If hoping/expecting UTF-8 clean text, check for ISO-8859-1 or, God forbid, Windows-1252 characters
I’d do well to review this list when troubleshooting before spending some number of hours down the rabbit hole. I’ll also need to augment the list as I find other things



