<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Deepak,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">First, thanks for doing this. I had a quick review. Some comments and questions below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">1. I tried it on Linux but could not make it work with CDT. I asked CDT to use the MI driver instead of GDB(in Debug Configuration->Debugger tab) but it failed.
 I was wondering if there are any steps I need to follow before I can run it with eclipse. Any version dependency etc. Also when I run it from command line, it does not seem to handle any mi command that I tried.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-file-exec-and-symbols /home/abidh/demos/act<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0^error,msg="Driver. Received command '-file-exec-and-symbols /home/abidh/demos/act'. It was not handled"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-break-insert main<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0^error,msg="Driver. Received command '-break-insert main'. It was not handled"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">2. The Code has many comments that are copies in many headers. They will get stale with time. So it is better to have them in one place only so that it is easy
 to update them. Some example are<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">"//                                                       To implement new MI commands derive a new command class from the command base
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">//                                                         class. To enable the new command for interpretation add the new command class<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">//                                                         to the command factory."<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">3. Similar comments about the environment mentioned in many files. Those comments will get stale with time so should be removed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">4. Not very important, but it would be nice if the comments in the header files before classes and functions are written in the same way as rest of the lldb
 for consistency sake. I am not sure about the policy but the I don’t see date and author name in rest of the lldb either.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">5. You have added some utility classes for lldb-mi. Some of the functionality may already be available in LLDB. I can understand that you may not want to depend
 on LLDB internal classes. But there needs to be a way to share code instead of duplicate. May be a shared utility folder where store such files and they can be used by LLDB core and drivers.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">6. Similarly duplication of Driver.cpp would be a maintenance burden. Something we need to think about.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">7. I see some functionality is left as TODOs for Linux and OSX. It would be nice if you could list them somewhere so that people working on those system can
 try to fill the holes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">8. In future, we may like to make the generation of log file an option.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Abid<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> lldb-dev-bounces@cs.uiuc.edu
 [mailto:lldb-dev-bounces@cs.uiuc.edu] <b>On Behalf Of </b>Deepak Panickal<br>
<b>Sent:</b> 16 May 2014 13:52<br>
<b>To:</b> Eran Ifrah<br>
<b>Cc:</b> lldb-dev@cs.uiuc.edu<br>
<b>Subject:</b> Re: [lldb-dev] LLDB Machine Interface Frontend<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Eran,<br>
<br>
Yeah, I have committed it to the lldb source tree.<br>
<a href="http://llvm.org/viewvc/llvm-project?view=revision&revision=208972">http://llvm.org/viewvc/llvm-project?view=revision&revision=208972</a><br>
<br>
That's great! Please try it out.<br>
<br>
Thanks,<br>
Deepak<br>
<br>
<o:p></o:p></p>
<div>
<p class="MsoNormal">On 16/05/2014 12:36, Eran Ifrah wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, May 16, 2014 at 2:15 PM, Deepak Panickal <<a href="mailto:deepak@codeplay.com" target="_blank">deepak@codeplay.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">Thanks Jim, have just committed it. Yeah, it works with the GDB/MI interface.<br>
<br>
There's no GPL code, it's all written from scratch.<br>
Not all MI commands have been implemented yet, however it should be enough to set breakpoints, view locals.<br>
We're working on adding more commands for viewing/modifying registers, memory etc.<br>
<br>
It'll be great if more people from the community can use and test it with other GUIs!<br>
<br>
Thanks,<br>
Deepak <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">​</span><span style="font-family:"Verdana","sans-serif"">Hi Deepak,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">Is this committed to lldb source tree? If yes, then I can update my local tree and try it with my IDE which also uses GDB/MI<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">I will report my findings here<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">​</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">Thanks!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><br>
<br>
On 15/05/2014 18:57, <a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a> wrote:<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">First off, thanks for doing this, that is great!  If this also works with the gdb-mi mode, you will make our emacs friends happy as well.<br>
<br>
If this is just an independent tool that doesn't touch the core lldb sources (and doesn't use anything directly from the gdb MI implementation, since we don't want to mix GPL'ed code in with lldb), I see no reason not to just check it in now, and then iterate
 on it in situ.  That is much easier than handing around patch files, and since there's no chance it will interfere with anybody working on parts of lldb that existed before the patch, can't do any harm.  I spoke to GregC and he agrees this is a reasonable
 course.<br>
<br>
Again, thanks for working on this.<br>
<br>
Jim<br>
<br>
<br>
On May 15, 2014, at 10:17 AM, Deepak Panickal <<a href="mailto:deepak@codeplay.com" target="_blank">deepak@codeplay.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">Hi Abid,<br>
<br>
Thank you, I have attached the zipped patch.<br>
You might have to the change the triple in tools/lldb-mi/MICmnConfig.h for your target.<br>
<br>
Please let me know if you have any comments/suggestions.<br>
<br>
Thanks,<br>
Deepak<br>
<br>
On 15/05/2014 17:10, Abid, Hafiz wrote:<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Deepak,<br>
I can help review/test it when you post the patch.<br>
<br>
Thanks,<br>
Abid<o:p></o:p></p>
<p class="MsoNormal">-----Original Message-----<br>
From: <a href="mailto:lldb-dev-bounces@cs.uiuc.edu" target="_blank">lldb-dev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:lldb-dev-bounces@cs.uiuc.edu" target="_blank">lldb-dev-bounces@cs.uiuc.edu</a>]<br>
On Behalf Of Deepak Panickal<br>
Sent: 15 May 2014 12:14<br>
To: <a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
Subject: [lldb-dev] LLDB Machine Interface Frontend<br>
<br>
Hi,<br>
<br>
We have an MI (Machine Interface) frontend to LLDB which works out of the<br>
box with Eclipse, and likely will work with other GUI's based on the GDB/MI<br>
interface. It's been tested on Linux and Windows.<br>
<br>
It's ready to upstream and has been developed as an independent tool<br>
residing in the LLDB tools folder. It's based on the LLDB public API without<br>
any changes to LLDB internals.<br>
<br>
The patch is quite large as there are many new files.<br>
How should we go about upstreaming? Should I create a diff review as<br>
usual?<br>
<br>
Thanks,<br>
Deepak<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><o:p></o:p></p>
<p class="MsoNormal"><lldb-mi-driver.patch.bz2>_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><o:p></o:p></p>
<p class="MsoNormal"><br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">Eran Ifrah<br>
Author of codelite, a cross platform open source C/C++ IDE: <a href="http://www.codelite.org" target="_blank">
http://www.codelite.org</a></span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">wxCrafter, a wxWidgets RAD:
<a href="http://">http://</a><a href="http://wxcrafter.codelite.org" target="_blank">wxcrafter.codelite.org</a></span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>