<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 8, 2018, at 5:52 PM, Leonard Mosescu <<a href="mailto:mosescu@google.com" class="">mosescu@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline" class="">The LLDB MI plugin didn't work very well as was quite flaky when I tested it a while back.</span><br class=""></blockquote><div class=""><br class=""></div><div class="">Just curious, what was the flaky part, the debug adapter or the LLDB MI interface? </div></div></div></blockquote><div><br class=""></div>Not sure. Debugging wasn't rock solid. Don't know where the blame lies.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Aug 8, 2018 at 8:40 AM, Greg Clayton via Phabricator <span dir="ltr" class=""><<a href="mailto:reviews@reviews.llvm.org" target="_blank" class="">reviews@reviews.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">clayborg added a comment.<br class="">
<span class=""><br class="">
In <a href="https://reviews.llvm.org/D50365#1192447" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D50365#1192447</a>, @zturner wrote:<br class="">
<br class="">
> To elaborate, if you install the C/C++ plugin, and you go to Debug -><br class="">
>  Configurations, and you go down to the MICmdMode property, it is by default<br class="">
>  set to "gdb".  But you can change this to "lldb" and it works out of the<br class="">
>  box.<br class="">
<br class="">
<br class="">
</span>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.<br class="">
<br class="">
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.<br class="">
<br class="">
<br class="">
<a href="https://reviews.llvm.org/D50365" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D50365</a><br class="">
<br class="">
<br class="">
<br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>