I use both, myself. There are parts of code that are hard to debug because it has to run in real-time. Then there are parts of code that are more amicable to being debugged using the debugger.
This. Best I ever worked with was the VOS debugger on Stratus. Easy, intuitive, and non-invasive.
Second would be Xcode's debugger back in the 00s (haven't used it since then). Good visual design to make some difficult stuff (like dealing with threads) simple.
As much as I dislike Python, their debugger is really good and being able to trigger it right from your code was handy.
In the early days, there were no debuggers. We all thought we were brilliant when we came upon the idea of print statements at key points to identify code location, and variable value.
Yeah, I skipped the week of high school programming class where they taught us what a debugger is and how it works. I don't generally write super complicated code, but after 18 years of hobbyist programming I should probably watch a youtube about debugging or something. Oh well.
Program long enough and you'll find yourself in situations where there is no debugger. Where the problem only exists on a specific environment and the only "debugger" you get are the logs that come out.
No, coded back on microcontrollers in assembler where there was no debuggers, only a small LED display. Show me a bug that cannot be caught by a proper test.
Mate I'm not about to play silly buggers with you cause your next reply will simply be "should have had a test for that" no matter what the example is. Keep living in fantasy land where unit tests somehow magically prevent bugs in integrated systems.
cepheidvariable
I use both, myself. There are parts of code that are hard to debug because it has to run in real-time. Then there are parts of code that are more amicable to being debugged using the debugger.
Redyls
because a lot of debuggers are shit?
iamgnat
This. Best I ever worked with was the VOS debugger on Stratus. Easy, intuitive, and non-invasive.
Second would be Xcode's debugger back in the 00s (haven't used it since then). Good visual design to make some difficult stuff (like dealing with threads) simple.
As much as I dislike Python, their debugger is really good and being able to trigger it right from your code was handy.
RetrogradeLlama
In the early days, there were no debuggers. We all thought we were brilliant when we came upon the idea of print statements at key points to identify code location, and variable value.
Many a stuck loop was fixed in this manner.
pr0t34n
Or split the difference and include an argument like -d, then wrote tons and tons of "if d: print('running function a')"
StarscreamAndHutch
Verbosity = 3;
Baggsy13
Both!
DarthFutuza
Use all the tools!
ChromaticPassingTone
BRING ON THE BREAKPOINTS!
Arcygenical
Yeah, I skipped the week of high school programming class where they taught us what a debugger is and how it works. I don't generally write super complicated code, but after 18 years of hobbyist programming I should probably watch a youtube about debugging or something. Oh well.
alcamar
Depends on what you code and how the code is setup. Harder to achieve with legacy code, so i default to print statements virtually every time
Sechran
Program long enough and you'll find yourself in situations where there is no debugger. Where the problem only exists on a specific environment and the only "debugger" you get are the logs that come out.
NahhNotEven
This... or the truely annoying case where debugging changes the result
Gindipple
Option 3: add appropriate unit tests stop having bugs
EmanNiemThcin
Is this your first week on the job? Unit Tests + Integration Tests + e2e tests + regression testing and you will still have bugs.
Gindipple
No, coded back on microcontrollers in assembler where there was no debuggers, only a small LED display. Show me a bug that cannot be caught by a proper test.
EmanNiemThcin
Mate I'm not about to play silly buggers with you cause your next reply will simply be "should have had a test for that" no matter what the example is. Keep living in fantasy land where unit tests somehow magically prevent bugs in integrated systems.