
Open Sourcing Visual Studio’s GDB/LLDB Debug Engine - Olivier26
http://blogs.msdn.com/b/vcblog/archive/2015/04/29/open-sourcing-visual-studio-s-gdb-lldb-debug-engine.aspx
======
solutionyogi
I personally don't use debugger that much but whenever I have used it, I have
always been amazed at VS's debugger capability. I don't think I am
exaggerating when I say that VS has the best debugger across all
languages/platforms. I think this is a GREAT news for all the developers.

~~~
green7ea
I've seen this best debugger thing come up a few times before. I'm currently
working with windows on a project right now and I'm finding the VS debugger
more limited than GDB. With GDB I can create scripts which analyse and print
complex memory layouts very quickly and efficiently. With valgrind, I can find
memory leaks and other unwanted behaviors. With gcc's dump-tree family of
options, I can see how my code is turned into assembly. I haven't been able to
do these things well under VS and I think it comes down to preference and
habit. So my question is, what makes VS's debugger the "best debugger", what
am I missing?

~~~
forgottenpass
_So my question is, what makes VS 's debugger the "best debugger", what am I
missing?_

It's not (just) features, it's the interface to those features. The
possibility cap may be lower for you, but that doesn't matter to people who
just want an approachable interface to step through their code.

This is the part where I'm an elitist asshole: There are developers that
program by spending all day, every day in the debugger. They're almost never
going to do anything fancy, they just want an easy way to fix their code.
Command line gdb is too much effort to learn, and of the IDEs that hook into
debuggers, VS does it the best.

~~~
tracker1
I have to agree here... When I've had to fall into using a debugger
pragmatically VS integration is probably the best experience I've had
(eclipse, intellij etc don't compare).

That said, having been working a lot with node/iojs modules the past few
years, I find that experience even better. I'm pretty sure others who are
using scripted languages with a REPL can probably state the same. Running in
an environment where you can jump in anywhere, call a particular script and
replace variables for testing is a powerful experience.

I don't mean to start a scripted vs. compiled war... they both have their
place. Just mentioning because people will reach for a compiler for things
that could be much simpler with a scripted environment more often than not.

~~~
HanyouHottie
Your language doesn't need to be interpreted to have a REPL. Haskell has a
REPL. The Immediate window in Visual Studio is essentially a REPL for all .NET
languages (so you get that and the VS debugger together, win/win).

------
bithush
I am really loving this new Microsoft. What I would _love_ would be for
Microsoft to offer resources to get Clang/LLVM working on Windows as well as
MSVC so it can be a first class compiler in VS.

~~~
Alphasite_
I think they're doing some work on it, and I believe someone else is also
supporting LLVM for windows as well.

------
laichzeit0

        What license will the source code be released under?
        We plan to release it under the MIT open source license.
    

This is the best part. Have they finally seen the light?

~~~
andyjohnson0
This isn't new. The entire .net framework was released some time ago under the
MIT licence. [1]

[1]
[https://github.com/Microsoft/dotnet/blob/master/LICENSE](https://github.com/Microsoft/dotnet/blob/master/LICENSE)

------
orionblastar
I miss the days of MASM and Codeview. I used to debug DOS programs in Codeview
and could step into and out of code lines and even modify the code. By
changing a JE to JNE I was able to bypass the Lotus 123 2.0 protection so it
could be installed on a Netware drive instead of just a floppy disk.

GDB/LLDB it is good that Microsoft is open sourcing their debug tools.
Microsoft has been struggling with improving Visual Studio and Dotnet, so in
open sourcing them or parts of them in CoreCLR, Visual Studio Core, and then
GDB/LLDB they are letting open source developers participate in improving
them.

Sure it isn't the full version of Visual Studio, I don't expect Microsoft to
give away everything but small parts of it. Sometimes less is more, in that
the fewer lines of code the smaller the program the faster it runs.

I would like to see an Office Core and SQL Server Core as well if they can.

------
TillE
> We will be releasing the source code by the time we release the RTM version
> of Visual Studio 2015.

Not to be confused with the RC that got released today, which isn't actually a
Release Candidate.

------
callesgg
Nice to see that Microsoft as a company actually understands where their
customers are going.

------
MarkSweep
I've been using VisualGDB at work to do embeeded programming on a Cortex M4.
Hopefully these guys can benefit from this new Microsoft code, as some things
like expression eval don't work in VisualGDB.

~~~
GeorgeHahn
Doesn't this replace VisualGDB?

~~~
MarkSweep
VisualGBD would still potentially be useful for setting cross-compilers and
in-circuit debuggers. But yeah, I think you could probably recreate the
experience by putting the pieces together yourself.

------
shmerl
So, will it enable making a user friendly frontend to GDB for Linux?

~~~
WorldWideWayne
"... it should be relatively easy to adapt the code to work correctly with
your other GDB and LLDB targets from Visual Studio". Right now it targets the
version of GDB that ships with Android NDK 17+ and the version of LLDB that
Microsoft ships to support iOS debugging.

Also there is a link that shows how to remote debug a Linux process from
Visual Studio - [http://blogs.msdn.com/b/vcblog/archive/2015/04/29/debug-c-
co...](http://blogs.msdn.com/b/vcblog/archive/2015/04/29/debug-c-code-on-
linux-from-visual-studio.aspx)

