<div dir="ltr"><div><div><div><div><div><div>Hello all,<br><br></div><br></div>I have already started working on Integrating the plugin and have uploaded my work  here <a href="https://github.com/rish9511/kdevelop/tree/lldbtest" target="_blank">https://github.com/rish9511/kdevelop/tree/lldbtest</a> .<br></div><br></div>The approach I followed while working is going to result in a lot of code duplication which is not good.<br><br></div><b>New approach:</b><br></div><br><div><div><div>Most of the classes like DebugSession,DebuggerPlugin ,DebugJob, etc are going to be  re-used in both the plugins so it's better to make  changes in the existing code and then make  GDB and LLDB use  them.<br><br></div><div><b>LLDB/MI and GDB/MI compatibility:</b><br></div><div><br>They  both are compatible.Any IDE that supports the GDB/MI protocol should be able to use the MI driver .This has been mentioned  on codeplay's site  <a href="https://www.codeplay.com/portal/lldb-mi-driver---part-2-setting-up-the-driver" target="_blank">https://www.codeplay.com/portal/lldb-mi-driver---part-2-setting-up-the-driver</a><br>I cross checked this after Kevin Funk suggested me to see if the commands sent by GDB plugin work with lldb-mi or not.Most of the commands worked like a charm.<br><a href="https://github.com/llvm-mirror/lldb/blob/7535162178eada833e72a5525fc26dcc04e7331e/tools/lldb-mi/MICmdCommands.cpp" target="_blank">https://github.com/llvm-mirror/lldb/blob/7535162178eada833e72a5525fc26dcc04e7331e/tools/lldb-mi/MICmdCommands.cpp</a>  lists all the MI command that have been implemented.<br></div><div><br>So updating variables ,stack won't be an issue at all .<br><br></div><div><b>Commands that have not been implemented:</b><br>The non MI commands like "n" ,"list","step","continue" ,"b main.cp:7" ,etc  have not been implemented but for most of them corresponding commands exist .<br><br></div><div>1. n = -exec-next<br></div><div>2. step = -exec-step <br></div><div>3 . continue = -exec-continue<br></div><div>4. b main.cpp:line_no = -break-insert --option "file name"<br><br></div><div>couldn't find a command for "list".<br></div><div>So if the user gives any of the non-MI command we can conditionalize and give the corresponding command.<br><br>I also had a discussion with Vladimir Prus(one of the authors of GDB plugin) ,he said it's mostly the same plugin .<br><br><br></div><div>Thank you :)<br></div><div>Rishabh Gupta<br></div><div><br><br></div></div></div></div>