[Lldb-commits] [PATCH] D50365: Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 8 08:40:25 PDT 2018

clayborg added a comment.

In https://reviews.llvm.org/D50365#1192447, @zturner wrote:

> To elaborate, if you install the C/C++ plugin, and you go to Debug ->
>  Configurations, and you go down to the MICmdMode property, it is by default
>  set to "gdb".  But you can change this to "lldb" and it works out of the
>  box.

It is a different protocol. The LLDB MI plugin didn't work very well as was quite flaky when I tested it a while back. Then I grabbed the CodeLLDB plugin by Vadim Chugunov and it worked very well. When I looked more closely at this plugin, it was using a javascript/typescript plug-in to launch a LLDB instance and then ran a python script that received all of the javascript packets from the javascript/typescript based plug-in and ran the debug session using the python interpreter. It worked very well and was rock solid stable. So I then created this plug-in for Nuclide for use at Facebook as they switched all of the debugging plug-in over to use the VSCode debug adaptor protocols. It works event better than the CodeLLDB plugin with Visual Studio Code and it also doesn't stop you from using the python interpreter. The issue I had with the CodeLLDB is that is uses the python interpreter to run the debug session thus it isn't available to you as a LLDB user.

So long story short: our IDE at Facebook uses the VSCode protocol, MI is clunky and doesn't work that well and was flaky, so this tool was created. This also provides a really nice way to do remote debugging where the lldb-vscode is run remotely on other systems. This removes the need for copying files from a remote host up onto the system that is doing the debugging. So we use this at Facebook and it also provides the best way to use LLDB to debug using Visual Studio Code or Nuclide.


More information about the lldb-commits mailing list