walls.corpus

By Nathan L. Walls

  • Pollen/Raleigh
  • Busy Bee/Raleigh
  • Blossoms/Raleigh

While debugging

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