4 ms·
I guess, writing debuggers is hard and if you need to support multiple environments or console debugging it's probably wise, as a programming language community
by zubspace 6y ago
I guess, writing debuggers is hard and if you need to support multiple environments or console debugging it's probably wise, as a programming language community, to simply make your users adopt print-statement- or gdb-debugging.
But as a long-time Visual Studio developer (C# and C++) I am constantly amazed how bad that status quo is for other languages. I'm probably spoiled by all its features:
* Conditional Breakpoints.
* Move instruction pointer.
* Jump between threads, freeze and thaw them.
* Showing variable Values when hovering over them.
* Inspecting (large) Lists and Dictionaries easily.
* Changing variable values or execute methods while breaking.
* Changing code and continue debugging.
* Historical debugging (moving backward)
I believe that someone who never experience debugging like this cannot possibly imagine how much you could improve debugging in other environments.
- taviso 6y agoI think those are all basic features that all major debuggers support, certainly gdb can do those including moving backwards (gdb calls it reverse debugging). - Conditional breakpoints, break main.c:26 if a > 6 - Move instruction pointer, jump main.c:84 - Jump between threads, thread 123 - etc, etc. I've barely used Visual Studio, but I'm very familiar with windbg which uses the same debugger engine with a different UI.