Six Year Old MS Debugger better than current Open Source debuggers?

There is an interesting post on a Firefox developers blog that describes how great the VC6 debugger still is, despite being almost six years old, chiding the open source folks for still not competing with it. We should be flattered I guess.

Although I haven't used VC6 myself for over six years (we had moved on to the 6.1 debugger quite a while before 6.0 shipped, and quite a while after 6.1 itself was cancelled), I know that it still does have its fans. I personally think you are all crazy for using it, dont you debug STL code, or want to use a modern optimizing compiler that knows about today's CPUs, or run on a multi-processor machine? Ah well, at least tech support is basically expired for VC6 and I don't have to deal with it any more. Right Tim?

I don't know much at all about the state of the open source debuggers or IDEs that Ben is talking about, but I assume he does.

Comments (14)

  1. Jonathan says:

    I still use VC6 Standard at home for personal projects–got it back when I was just a poor high school student. Though, I will probably get VS2005 when it comes out, since 1-I can afford it now, and 2-Platform SDKs no longer come with VC6-compatible libs. Also, VC6-compabile Windows debug symbols are no longer available (starting with XP SP2 I believe).

  2. Ben Goodger says:

    Our testing with Visual Studio 2003.NET is that it produces slower, bigger code that also requires us to distribute CRT DLLs that would bloat our download size. I like a lot of the newer debugger UI but the UI is also slower than VC6, and we don’t use STL.

  3. Andy Pennell says:

    Ben, what forces you to ship a CRT DLL? I’ve never heard of that before. Just statically link. I’d double check your build settings too, make sure /Os is there. Five years of work on the optimizer should generally substantially better code than the old VC6 compiler ever did.

  4. Dean Harding says:

    I remember using gdb back in Uni. It was horrible! And the GUI front-end they had there was even worse. Meanwhile I had VC++ 6 at home and it was a joy to use.

    If I ever had to choose the single greatest piece of software that Microsoft ever released, it would be their debuggers. And they really do keep getting better and better.

  5. Mike Dunn says:

    I still use VC 6 because I hate the VC 7 IDE, it’s that simple. I have to use VC 7.1 at work for some projects, due to 3rd party libs that are built with 7.1, but I find it completely unusable without a lot of keyboard customization (Ctrl+Shift+B for build instead of F7? come on!) and Visual Assist X to make IntelliSense actually useful.

    >dont you…want to use a modern optimizing compiler that knows about today’s CPUs

    Sure, just wrap it in a better IDE 😉

    >or run on a multi-processor machine?

    How is that related to using 6 or 7?

  6. Ben Goodger says:

    Yeah sorry I forgot about that… Brian Ryner did some analyses and it turned out we had to statically link against these extra libraries… I know we can do this piecemeal but it still turned out to be extra overhead. I can’t comment much more definitively than that – going on second hand info, but I bet we’ll eventually move over. 😛

  7. Scott says:

    Alright, my trackback didn’t work.

    What about Eclipse and KDevelop. I’m not a hardcore C++ developer and I’ve only used Eclipse for Java development but they do seem like GUI alternatives to the VC++ 6.0 IDE.

  8. Ivo says:

    I suspect there are not that many open source debuggers because a good debuger must have a deep understanding of the internals of the compiler, the debug info format, and Windows. Much of that is poorly (or not at all) documented. Do you think it is possible to write a Visual Studio quality debugger with just the info available from the Platform SDK?

    As far as VC6 vs. NET, I still prefer the VC6 UI. It is much cleaner, faster, more customizable, more contrast. The resource editor in NET is clearly a step back from usability point of view, and is full of bugs. The debugger is also buggy – 20% of the time adding a variable to the watch window resets the current element of the callstack to the top.

  9. SML says:

    I’m working on a project that still uses VC6. We’re quite keen to move on up to .NET – it feels like we’re being left behind! Mind you, after reading some of the comments here, I’m not so sure it’ll be a step forward…!

    The problem we face is that when porting over the project to .NET, we receive a vast amount of compiling errors due to "depraction". Can it be true that there is no backwards-compatability mode for compilation? Does anyone know if there are a set of tips for converting projects to be .NET compilable?

  10. Tim says:

    I’m way late on this, but I’m guessing that ‘Tim’ refers to me 🙂 so I’ll just say that I find the VS IDE generally requires more faffing around and clicking than the VC6 one did.

    The VS IDE smacks of the same ‘design’ decisions and priorities that mean that each version of MS Office looks like no other app on earth when it comes out. i.e. change for change’s sake.

    I’m willing to allow that the VS team suffers a lot less from that kind of thing than the Office team, but there are still some UI changes that make me think "Huh?" Classics such as Ctrl-Shift-Alt-Windows-Meta-B instead of F7 for build, etc.

    Basically, my day in VC6 used to go like this:

    * Edit code

    * F7 for build

    * F4 to go to next error

    * Escape to return focus from error list to code, and Escape again to hide the output window.

    * F5 to run the app

    I still haven’t recovered from the fact that the first release of broke all of those things except the ‘edit code’ and ‘run code’ parts. Now that’s impressive.

    I know a lot of these things and others have been fixed (or just rationalised away in blogs – the bugfix of the new millennium :-), but still has to work hard to regain my trust, essentially.

    And to be honest, until I do real .NET dev or C# or something, I really need a reason to use VS rather than VC6. From my perspective, in VS, the code’s a bit faster and the debugger’s a bit better. Not enough, to be honest. (Oh, and of course you’ve flipped the bit again on the MSDN-Within-IDE vs MSDN-Outside-IDE thing again, but so what’s new).

    Having said all that, I agree with the basic point that both VC6 and VS debuggers kick the ass of anything else I’ve seen. And the IDEs do too. It’s just that VS is different, and I need a reason to bother learning the differences. For more on this read the similarly themed and gripping post I made here:

    Regarding Eclipse – I recently checked and found that it still cannot let you load and edit an arbitrary text file. Why the hell would anyone use an IDE that doesn’t have a ‘File open’ command?

    Anyway, I’m off to read one of your later blog entries which has a good bit with some bluetooth rants in it.

  11. WinGDB says:

    We’ve prepared Add-In for VisulStudio which runs gdb, so developer is able to debug native Unix or MinGW applications so comfortable like standard VS-debugger does for native Win applications 😉

    Kind regards,

    WinGDB team

  12. Andy-Pennell says:

    Great! I did something similar when I was forced to do Linux stuff for HD DVD, I couldn’t live with gdb or any of its UI wrappers on Linux. Unfortunately I can’t post that code.

Skip to main content