<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 16, 2016 at 10:41 PM, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class=""><br>
> On Mar 11, 2016, at 9:30 AM, RISHABH GUPTA via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hello all,<br>
><br>
> I have started using LLDB/MI but there are some commands that are not working .I start the MI in terminal as "lldb-mi-3.6 --interpreter" and then launch the application that  I want to debug but commands like "n" ,"list","continue" ,"step" are not working.There is this error message that gets displayed on giving these commands<br>
><br>
> "^error,msg="Driver. Received command 'command_name'. It was not handled. Command 'continue' not in Command Factory"<br>
<br>
</span>Was this something you were typing at a "(gdb)" prompt?</blockquote><div><br>Yes<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> If not, it sounds like your software is using GDB commands instead of using the actual MI commands and the best solutions is to fix your software to actually use the MI commands instead of sending GDB command interpreter commands.<br>
<br>
I believe there is some way to send a gdb command line command, so if you have a "(gdb) " prompt, and we will pass the command along to LLDB.<br>
<span class="">><br>
> I tried looking for  the substitutes of these commands here <a href="https://github.com/llvm-mirror/lldb/tree/7535162178eada833e72a5525fc26dcc04e7331e/tools/lldb-mi" rel="noreferrer" target="_blank">https://github.com/llvm-mirror/lldb/tree/7535162178eada833e72a5525fc26dcc04e7331e/tools/lldb-mi</a>  but could not find any.<br>
><br>
> Could anyone please help me out with this?<br>
<br>
</span>So check if your IDE is not actually using MI. Your IDE shouldn't send a "continue" GDB command interpreter command, but it should send an "exec-continue" MI packet since you are using MI. Don't sent a "n" packet, but send a "exec-next" packet. Etc...<br>
<br></blockquote><div><br></div><div>till now I have been using the MI in the terminal itself .I figured out the corresponding MI commands for 'n','step','continue' but not for 'list'.<br><br></div><div>The thing is GDB/MI commands listed here <a href="https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI">https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI</a>  don't just work outside the box when used with LLDB/MI .for example:<br><br></div><div>1.In GDB/MI -exec-next commands works fine but to make it work for LLDB/MI we need to provide the thread number ,so the command becomes "-exec-next --thread 1"<br><br></div><div>2.-var-update command ,In GDB/MI "-var-update *" works fine  but the same command in LLDB/MI gives <br>"^error,msg="Command 'var-update'. Variable '*' does not exist"<br><br></div><div>So it takes time to figure out the correct usage of the command <br><br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Let me know what your IDE is doing.<br></blockquote><div><br></div><div>They are implementing the MI only   <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><font color="#888888"><br>
Greg<br>
<br>
<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">Thanks<br></div></div>