Hacker News new | ask | show | jobs
by gum_ina_package 4476 days ago
Because the Visual Studio debugger is the most advanced, wonderful, and beautiful (if that's a thing) debugger ever written.
3 comments

I keep my code portable to Windows soley for the purpose of getting to use the Visual Studio debugger. Likewise, Windows developers should write portable code so they can use valgrind.
No need for valgrind when using memory safe languages :)
Are your memory safe languages also concurrency/data-race safe? (<3 valgrind DRD)
The wonders of FP.
"Often time when using high level algebraic languages we have a tendency to do things in a way that looks the best, or in the shortest number of statements. Often completely ignoring what will execute fastest." - Donald Knuth The Art Of Programming Volume 1 Second Edition Preface X.
But its the most maintainable so 99% of the time that's the right choice.
It has a steep learning curve, but the package Microsoft calls "debugging tools for windows" (windbg, cdb, kd) really puts the VS debugger to shame, to the point where I am frustrated when I try to use it. If you want to point and click your way through variables I guess VS is OK, but if you want everything you might ever want to know about a process it is frustrating.
You can use the WinDbg debugging engine as your debugging engine in Visual Studio, which allows you to combine the benefits of the IDE with the power of WinDbg virtually seamlessly.
Just step back and think for a minute why that is the case.
Is it because Microsoft has always invested heavily in development tools to encourage development of Windows software?
I don't think that's the case when VS bundle is priced in thousands of dollars. They just want to make good product.
Because writing good debuggers is unglamorous hard work.

Actually, I think the VS C++ debugger is only decent - not great, just decent. I prefer the Borland debugger kernel, seen these days in Embarcadero Delphi and C++ Builder, the CPU view in particular. Although if you're working with mixed native and .NET code, it's quite good.

VS's ability to comprehend C++ code and provide meaningful code completion, follow symbol references, etc. even when it isn't able to compile the C++ is excellent, however.

If you're implying that it's because code written on/for Windows is more buggy, remove that chip from your shoulder.
Actually you're right. I stepped over the line. I don't use Windows products but Windows does make incredible software.
Because it's proprietary, and other debuggers aren't allowed to copy it?