It may sound obvious to folks who already use a debugger, but in my experience a decent chunk of people don't use them because they just don't know about them.
Depending on the language or setup debuggers can be really crappy. I think people here would just flee away and go find a better fitting stack, but for more pragmatic workers they'll just learn to debug with the other tools (REPL, structured logging, APMs etc.)
if your repl is good enough and the bug isn't a crash, repl based debugging can be excellent (especially if the language has good introspection capabilities)
I had a think about where I first learned to use a debugger. The combo of M$ making it easy for .NET and VB6 and working professionally and learning from others was key. Surprised it is less popular. Tests have made it less necessary perhaps BUT debugging a unit test is a killer move. You quickly get to the breakpoint and can tweak the scenario.
> I had a think about where I first learned to use a debugger
Is this not taught anymore? I started on borland C (the blue one, dos interface) and debugging was in the curriculum, 25+ years ago. Then moving to visual studio felt natural with the same concepts, even the same shortcuts mostly.
my development workflow with python often boils down to repeatedly running `pytest --ff --pdb -x`...
- run my tests, running any previous failures first
- drop into the debugger when a test fails (or of course, hits a breakpoint)
- end the test run after the first failure
use debugger to figure out what went wrong, fix it, wash, rinse, repeat
These days I'll just dump all relevant code into an LLM and have it explained to me instantly.
Being able to ask questions about the parts that are unclear (or just plain wrong) is so much easier than trying to cram the entire thing into my brain RAM.
In my experience it actually helps me learn faster too, since I rarely get stumped on random gotcha's anymore.
Nah, i use debuggers all the time despite also using LLM agent all the time. They are great, but limited and often just go into a perpetual loop of not being able to debug something. I toss in some breakpoints and figure out exactly what is going on.
With VSCode it's often a 10 minute job to set up. We are spoiled! Back in the VS days using a Microsoft stack it was just there. Click to add breakpoint then F5.
when i first started programming, with php, it took me literally weeks to figure out how to get xdebug set up. (pro tip: just use DDEV - it makes it all simple).
Not a second of that was a waste because xdebug (like all debuggers) is just that amazing.
I had a highly-educated, very intelligent girlfriend once. She loved cleaning the toilet. She said it relaxed her and she enjoyed seeing the results of her work immediately.
Yes. When a task doesn't require concentrated mental effort, it can be quite relaxing. The hands take on a life of their own and the mind can relax. Pressing clothes, shining shoes etc. An old school hobby that I think served the same purpose was whittling. I do something like that from time to time and it has a very calming effect.
"The greatest among you will be your servant. For those who exalt themselves will be humbled, and those who humble themselves will be exalted." (Obviously, I'm neither Jesus nor the OP).