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.


https://reviews.llvm.org/D50365



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to