No you’re just completely ignorant. You can trivially set breakpoints, use conditional breakpoints, watch variables, step over, through, and into in exactly the same way.
Hell, even raw-dogging lldb directly on the CLI is incredibly user friendly, fast, and has a ton features you wish were more exposed by common IDEs. Don’t feel like debugging right now? Take a heap snapshot and do it later! Don’t even need to launch the process.
Visual Studio is ridiculously overrated, and this is coming from someone that works at Microsoft and forced to use it every day. What really kills me are the insanely complicated and unmodifiable shortcut keys for common tasks. Killing the process is like some finger breaking ctrl+alt+function key nonsense? Seriously wtf? Oh to debug multiple binaries simultaneously in the same solution requires launching multiple instances of the entire IDE? Why??
Can you share what the experience is like debugging with gdb directly?
I'm new enough that my first debugger experience was Visual Studio, and I currently use IntelliJ IDEs which provide a similar experience. That experience consisting of: setting breakpoints in the gutter of the text editor, visually stepping through my source files line by line when a breakpoint is hit, with a special-purpose pane in the IDE visible, showing the call stack and the state of all local variables (and able to poke at that state any point higher up in the stack by clicking around the debug pane), able to execute small snippets of code manually to make evaluations/calculations based on the current program state.
I'm not so naive to believe that effective debugging tools didn't exist before GUIs became commonplace, but I have a hard time seeing how anything TUI-based can be anywhere near as information-dense and let you poke around at the running program like I do with my GUI-based IDEs.
(Pasting this comment under a few others because I genuinely want to hear how this works in the real world!)
I much prefer lldb over gdb, but why don’t you just try it and see for yourself?
Of course setting a gutter breakpoint is easier in an IDE, and that’s irrelevant to my point. OP made this aabout vim/emacs versus VisualStudio as if the former doesn’t have gutter-clicking capabilities. Which is ridiculous
The keyboard layout change is not on my version (dogfood) for some reason, maybe because I have to use Remote Desktop and it doesn’t detect a physical keyboard. But fine, I’ll take that back. I even asked AssPilot for help and it was predictably useless.
And cmon modify the registry to debug multiple processes? People work together in teams and share a common tooling that ideally tries to minimize the friction required to get work done. Think about that while contrasting the steps required in that article with the alternative of“launch the app a couple more times, then…”
* "Sometimes, you might need to debug the startup code for an app that is launched by another process. Examples include services and custom setup actions"
Starting multiple copies of the IDE wouldn't handle these scenarios either
Visual Studio is ridiculously overrated, and this is coming from someone that works at Microsoft and forced to use it every day. What really kills me are the insanely complicated and unmodifiable shortcut keys for common tasks. Killing the process is like some finger breaking ctrl+alt+function key nonsense? Seriously wtf? Oh to debug multiple binaries simultaneously in the same solution requires launching multiple instances of the entire IDE? Why??