Remix.run Logo
bluGill 6 hours ago

I'm not convinced. At times it can be valueable, but at times you can go around in circles, changing checking variables/break points all the time, but never finding the problem. Often thinking about the problem and what is important is what you need. Playing in the debugger is fun and feels like progress, but it can just be a distraction from understanding the real problem.

I'm not completely against debuggers, but in my experience they only are useful either to get the trace of the problem when it first occurs and then use static analysis until you have a theory the debugger can prove/disprove - but only prove/disprove that theory don't keep looking: you will feel productive but in fact be spinning circles

Bukhmanizer 4 hours ago | parent | next [-]

As with most continuous arguments in SWE, it really depends. I used to do a lot of debugging of random (i.e. not written by me) bioinformatics tools and being able to just fire up gdb and get an immediate landscape of what the issues were in the program was just invaluable.

Times when I was more familiar with the program or there were fewer variables to track it was less helpful

unkulunkulu 5 hours ago | parent | prev [-]

I’m talking about using debuggers not even to debug, but to familiarize yourself with the codebase and gain general understanding.

Measure of progress for me is formulating and answering questions. Sometimes trying to answer a question leads to formulating sub questions.