Coding in the Debugger (2007)
11–20 of 32 posts
Re: Coding in the Debugger (2007)
#12This is debugger driven development In programming environments with very powerful debuggers like .NET this is relatively common since it allows you to do a lot of stuff at fly. Change values, evaluate expressions, change function's code, jump ahead and behind, etc, etc. Once you try this you'll never want to go back to print-debugging (except for specific cases)
Re: Coding in the Debugger (2007)
#13TDD gives programmers a false sense of correctness. The temptation to "mess around with it until it passes" is far too great.
Re: Coding in the Debugger (2007)
#14Re: Coding in the Debugger (2007)
#15Earlier quoted context omitted.
I just remembered the Tracepoint feature though (it's been a while since I was working in C++ with visual studio). Even when you can't pause execution to debug it's still better to add your tracing in the debugger rather than having to make code changes. I was always doing stuff on windows/macOS/iOS/Android client libraries so I was always jealous of linux systems programmers who get to leverage Mozilla's rr tool. Th…
Sadly rr cannot work on software that makes any kind of call to GPUs, so its usefulness is pretty limited on a lot of larger software. But when it's usable, imo it's amazing.
Re: Coding in the Debugger (2007)
#16And this, boys and girls, is why you want to use a real IDE with an integrated debugger.
Re: Coding in the Debugger (2007)
#17Re: Coding in the Debugger (2007)
#18Re: Coding in the Debugger (2007)
#19This is debugger driven development In programming environments with very powerful debuggers like .NET this is relatively common since it allows you to do a lot of stuff at fly. Change values, evaluate expressions, change function's code, jump ahead and behind, etc, etc. Once you try this you'll never want to go back to print-debugging (except for specific cases)
This is why going from Python to Go can feel like going backward. IMO, even compiled languages should have an "interpreted mode" for development. Once the development is complete, the code can still be compiled to get the benefits of runtime performance.
Re: Coding in the Debugger (2007)
#20This is debugger driven development In programming environments with very powerful debuggers like .NET this is relatively common since it allows you to do a lot of stuff at fly. Change values, evaluate expressions, change function's code, jump ahead and behind, etc, etc. Once you try this you'll never want to go back to print-debugging (except for specific cases)
sometimes though when debugging multithreaded code, tracing/logging is easier to figure out what's going on vs pausing on breakpoints.