Comment by jeffwass
3 days ago
“The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”
- Brian Kernighan
3 days ago
“The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”
- Brian Kernighan
That's the holy Unix justification for self-flagellation via deficient tooling and you're sticking to it.
In my experience, it's a superior approach for code you wrote yourself in a repeatable crash. You have the whole programming language at your disposal for building a condition corresponding to your bug, and any kind of data dumping.
I fall back on debuggers when the environment is hostile: Half understood code from someone else, unreliable hardware (like embedded), or debugging memory dumps.
But before both, the initial approach is thinking deep and hard, and reviewing all available evidence like logs. If this is not enough, I try to add better troubleshooting abilities for the future.
Although that was true at the time, it was before the creation of modern omniscient debuggers like Pernosco (<https://pernos.co/>).