3 ms·
I think that the major problem is that gdb was never designed/suitable for graphical debugging. I use Visual Studio on C projects at work, and found it very int
by makuto 6y ago
I think that the major problem is that gdb was never designed/suitable for graphical debugging. I use Visual Studio on C projects at work, and found it very interesting to find that Windbg actually has similar terrible usability as gdb. Gdb and Windbg were both command line interfaces originally, whereas Visual Studio has it's own debugger backend which was visual-first (afaik).
Really, VS is exceptional even in Windows land. I've tried RemedyDB, an attempted rewrite of debugging on windows, and found it useless. It had similar bugs to this article - no symbols, failure to attach, failed to bind breakpoints at all, failed to display variables.
I think it would be a huge project to replace GDB with a graphical-oriented debugger, but it would be worthwhile. If I were in charge, I'd make it a C lib that didn't come with a frontend. That way, the user can stay in their familiar editor and link the lib. (most programs should be able to use C libraries).
- pjmlp 6y agoOnly if you use classical WinDgb instead of the new one. https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg-preview https://docs.microsoft.com/en-us/windows-hardware/drivers/de... Mac OS also is another example of having good graphical debuggers, even in the MPW days.
- makuto 6y agoI disagree. I was using WinDbg downloaded from the Microsoft Store (so it had the WPF or whatever UI), and it was unusable. (Note: I was using it on a very large project - 4mLOC with hundreds of first- and third-party libs; It's likely I could get some use out of it on a trivial program, but it just didn't get the "real" program; and no, I wasn't simply missing the PDBs).
- pjmlp 6y agoWell it is still preview, but definitely much better than the classical one, from my point of view, which looks like created by kernel developers first attempt at a GUI app.
- Hello71 6y agoit was in fact created using state-of-the-art windows gui frameworks. in 1995. and then never updated. is it really an improvement to have a win10 settings app that is all unified... except for most of the advanced settings and half of the basic settings which are only available in the control panel?
- pjmlp 6y agoWin 16 nor Win32 were never state of the art Windows GUI frameworks, just the basic building blocks. That place is reserved for OWL, VCL and MFC, which WinDbg doesn't use.
- Hello71 6y agomy mistake. I thought MDI was new in Windows 95, but in fact it dates back to Windows 3.0, and was in fact deprecated by 95.
- userbinator 6y agoIMHO the original WinDbg UI was perfectly fine with the exception of a few small oddities; the new one is pointless trendchasing.
- nicoburns 6y agoTotally agree that a debugger is the kind of software that majorly benefits from a GUI. https://headcrab.rs/ https://headcrab.rs/ is a project to create a modular debugger framework (implemented in Rust, but I think for debugging any native code) which could eventually form a good basis for such a tool.
- userbinator 6y agoI think WinDbg has much better commands than GDB, although that might be because I started with DOS DEBUG (of which WinDbg's commands have a strong resemblance to). Nonetheless there are some things in GDB whose design is definitely perplexing, like the "disassemble" command (https://stackoverflow.com/questions/39016138/how-to-force-gdb-to-disassemble-code-when-it-says-no-function-contains-program https://stackoverflow.com/questions/39016138/how-to-force-gd... )