Hi Deepak,
First, thanks for doing this. I had a quick review. Some comments and questions 
below.

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.

-file-exec-and-symbols /home/abidh/demos/act
0^error,msg="Driver. Received command '-file-exec-and-symbols 
/home/abidh/demos/act'. It was not handled"
-break-insert main
0^error,msg="Driver. Received command '-break-insert main'. It was not handled"

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
"//                                                       To implement new MI 
commands derive a new command class from the command base
//                                                         class. To enable the 
new command for interpretation add the new command class
//                                                         to the command 
factory."

3. Similar comments about the environment mentioned in many files. Those 
comments will get stale with time so should be removed.
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.
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.
6. Similarly duplication of Driver.cpp would be a maintenance burden. Something 
we need to think about.
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.
8. In future, we may like to make the generation of log file an option.


Thanks,
Abid

From: [email protected] [mailto:[email protected]] On 
Behalf Of Deepak Panickal
Sent: 16 May 2014 13:52
To: Eran Ifrah
Cc: [email protected]
Subject: Re: [lldb-dev] LLDB Machine Interface Frontend

Hi Eran,

Yeah, I have committed it to the lldb source tree.
http://llvm.org/viewvc/llvm-project?view=revision&revision=208972

That's great! Please try it out.

Thanks,
Deepak

On 16/05/2014 12:36, Eran Ifrah wrote:


On Fri, May 16, 2014 at 2:15 PM, Deepak Panickal 
<[email protected]<mailto:[email protected]>> wrote:
Thanks Jim, have just committed it. Yeah, it works with the GDB/MI interface.

There's no GPL code, it's all written from scratch.
Not all MI commands have been implemented yet, however it should be enough to 
set breakpoints, view locals.
We're working on adding more commands for viewing/modifying registers, memory 
etc.

It'll be great if more people from the community can use and test it with other 
GUIs!

Thanks,
Deepak

​Hi Deepak,
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
I will report my findings here
​
Thanks!



On 15/05/2014 18:57, [email protected]<mailto:[email protected]> wrote:
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.

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.

Again, thanks for working on this.

Jim


On May 15, 2014, at 10:17 AM, Deepak Panickal 
<[email protected]<mailto:[email protected]>> wrote:
Hi Abid,

Thank you, I have attached the zipped patch.
You might have to the change the triple in tools/lldb-mi/MICmnConfig.h for your 
target.

Please let me know if you have any comments/suggestions.

Thanks,
Deepak

On 15/05/2014 17:10, Abid, Hafiz wrote:
Hi Deepak,
I can help review/test it when you post the patch.

Thanks,
Abid
-----Original Message-----
From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>]
On Behalf Of Deepak Panickal
Sent: 15 May 2014 12:14
To: [email protected]<mailto:[email protected]>
Subject: [lldb-dev] LLDB Machine Interface Frontend

Hi,

We have an MI (Machine Interface) frontend to LLDB which works out of the
box with Eclipse, and likely will work with other GUI's based on the GDB/MI
interface. It's been tested on Linux and Windows.

It's ready to upstream and has been developed as an independent tool
residing in the LLDB tools folder. It's based on the LLDB public API without
any changes to LLDB internals.

The patch is quite large as there are many new files.
How should we go about upstreaming? Should I create a diff review as
usual?

Thanks,
Deepak
_______________________________________________
lldb-dev mailing list
[email protected]<mailto:[email protected]>
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
<lldb-mi-driver.patch.bz2>_______________________________________________
lldb-dev mailing list
[email protected]<mailto:[email protected]>
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
[email protected]<mailto:[email protected]>
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev



--
Eran Ifrah
Author of codelite, a cross platform open source C/C++ IDE: 
http://www.codelite.org
wxCrafter, a wxWidgets RAD: 
http://wxcrafter.codelite.org<http://wxcrafter.codelite.org>

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to