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!)
Some emacs-fans really like emacs and will invent any justification for its shortcomings. You are 100% right it has a subpar debugging experience. There were better debuggers 20 years ago than emacs has now.
Stallman himself wrote it so it lies at the intersection of that camp and the lisp cultists (though Ig they are mostly extinct post-LLM), but they used to have a really strong belief that lisp was the path to AI because of it's homoiconicity.
What should be said in it's favor is that due to its architecture it is crazy extensible and hackable. And the fact that the line between configuration and code is very blurry really encourages you to dive into that.
The choice of lisp also helps ensure user freedom as it's a quite simple language - ensuring that compilers and interpreters are a commodity. You don't like one, pick another. Contrast that with say Rust where if you don't like the official Rust you are shit out of luck. It's also a rolling release deal so you can't even easily stay on an old version.
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!)