http://www.perlmonks.org?node_id=439128


in reply to I usually debug via...

Repeat after me: right tool for the job... right tool for the job.

How I go about debugging any code no matter what language it is written largely depends on the nature of the bug that I'm trying to find. Cockroaches won't come out when the lights are on, so I turn the lights off and then back on again after a while and see which way they scurry. Better yet I set up a cockroach trap and trap the little vermin.

First step in debugging is defining the nature of the bug. Is the pattern of how the bug manifests itself immediately apparent. (I.E. turn on power, smoke results every time. That's pretty apparent.)

Or is the bug more sneaky? Only shows up when you are in the middle of a good sleep dreaming about <insert sex symbol here> and having a great time of it.

Is it a data driven bug? Is it a Luser driven bug? Does it depend on planet alignment?

These are all crucial questions to ask before deciding how to go about debugging a program.