<table><tr><td style="">qi437103 created this revision.<br />qi437103 added reviewers: apol, KDevelop.<br />qi437103 set the repository for this revision to rKDEVELOP KDevelop.<br />Restricted Application added a subscriber: kdevelop-devel.</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D2293" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>LLDB plugin is now working for basic debugging use cases.</p>
<p>Things that work:</p>
<ul class="remarkup-list">
<li class="remarkup-list-item">Basic execution control: start, continue, step etc.</li>
<li class="remarkup-list-item">Break points</li>
<li class="remarkup-list-item">Frame stack list</li>
<li class="remarkup-list-item">Symbol info when hover</li>
<li class="remarkup-list-item">Variables & Expressions (still have caveats)</li>
<li class="remarkup-list-item">Multi-threaded debugee (must use LLDB trunk version)</li>
<li class="remarkup-list-item">Debugger console</li>
<li class="remarkup-list-item">Remote debugging (only tested on localhost)</li>
</ul>
<p>Things not working yet:</p>
<ul class="remarkup-list">
<li class="remarkup-list-item">Disassembly/Register view</li>
<li class="remarkup-list-item">Memory view</li>
<li class="remarkup-list-item">Pending break points and anything requires pending break points</li>
<li class="remarkup-list-item">Watch points</li>
</ul>
<p>Not tested:</p>
<ul class="remarkup-list">
<li class="remarkup-list-item">Attaching to process</li>
<li class="remarkup-list-item">Examine core file</li>
<li class="remarkup-list-item">Drkonqi support</li>
</ul>
<p>There's a <tt style="background: #ebebeb; font-size: 13px;">debugers/lldb/TODO.txt</tt> which contains more detailed description of current limitations and link to related LLDB bug reports.</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">GDB unit tests (such that I didn't break anything)</li>
<li class="remarkup-list-item">LLDB unit tests (some of them are skipped due to limitations mentioned above)</li>
<li class="remarkup-list-item">Manually tested</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKDEVELOP KDevelop</div></div></div><br /><div><strong>BRANCH</strong><div><div>peifeng/lldb-plugin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D2293" rel="noreferrer">https://phabricator.kde.org/D2293</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>debuggers/CMakeLists.txt<br />
debuggers/common/CMakeLists.txt<br />
debuggers/common/dbgglobal.h<br />
debuggers/common/mi/micommand.cpp<br />
debuggers/common/mi/miparser.cpp<br />
debuggers/common/midebugger.cpp<br />
debuggers/common/midebuggerplugin.h<br />
debuggers/common/midebugjobs.cpp<br />
debuggers/common/midebugsession.cpp<br />
debuggers/common/midebugsession.h<br />
debuggers/common/miframestackmodel.cpp<br />
debuggers/common/mivariable.cpp<br />
debuggers/common/mivariable.h<br />
debuggers/common/mivariablecontroller.cpp<br />
debuggers/common/mivariablecontroller.h<br />
debuggers/common/widgets/debuggerconsoleview.cpp<br />
debuggers/common/widgets/debuggerconsoleview.h<br />
debuggers/common/widgets/debuggerconsoleview.ui<br />
debuggers/common/widgets/disassemblewidget.cpp<br />
debuggers/gdb/CMakeLists.txt<br />
debuggers/gdb/debugsession.cpp<br />
debuggers/gdb/debugsession.h<br />
debuggers/gdb/gdb.cpp<br />
debuggers/gdb/gdbconfigpage.cpp<br />
debuggers/gdb/unittests/CMakeLists.txt<br />
debuggers/gdb/unittests/debugeeechoenv.cpp<br />
debuggers/gdb/unittests/test_gdb.cpp<br />
debuggers/gdb/unittests/test_gdb.h<br />
debuggers/lldb/CMakeLists.txt<br />
debuggers/lldb/Messages.sh<br />
debuggers/lldb/TODO.txt<br />
debuggers/lldb/controllers/breakpointcontroller.cpp<br />
debuggers/lldb/controllers/breakpointcontroller.h<br />
debuggers/lldb/controllers/framestackmodel.cpp<br />
debuggers/lldb/controllers/framestackmodel.h<br />
debuggers/lldb/controllers/variable.cpp<br />
debuggers/lldb/controllers/variable.h<br />
debuggers/lldb/controllers/variablecontroller.cpp<br />
debuggers/lldb/controllers/variablecontroller.h<br />
debuggers/lldb/debuggerplugin.cpp<br />
debuggers/lldb/debuggerplugin.h<br />
debuggers/lldb/debugsession.cpp<br />
debuggers/lldb/debugsession.h<br />
debuggers/lldb/kdevlldb.json<br />
debuggers/lldb/kdevlldb.qrc<br />
debuggers/lldb/kdevlldbui.rc<br />
debuggers/lldb/lldbcommand.cpp<br />
debuggers/lldb/lldbcommand.h<br />
debuggers/lldb/lldbdebugger.cpp<br />
debuggers/lldb/lldbdebugger.h<br />
debuggers/lldb/lldblauncher.cpp<br />
debuggers/lldb/lldblauncher.h<br />
debuggers/lldb/unittests/debugees/CMakeLists.txt<br />
debuggers/lldb/unittests/debugees/debugee space.cpp<br />
debuggers/lldb/unittests/debugees/debugee.cpp<br />
debuggers/lldb/unittests/debugees/debugeecrash.cpp<br />
debuggers/lldb/unittests/debugees/debugeeechoenv.cpp<br />
debuggers/lldb/unittests/debugees/debugeeexception.cpp<br />
debuggers/lldb/unittests/debugees/debugeemultilocbreakpoint.cpp<br />
debuggers/lldb/unittests/debugees/debugeemultiplebreakpoint.cpp<br />
debuggers/lldb/unittests/debugees/debugeeqt.cpp<br />
debuggers/lldb/unittests/debugees/debugeerecursion.cpp<br />
debuggers/lldb/unittests/debugees/debugeeslow.cpp<br />
debuggers/lldb/unittests/debugees/debugeethreads.cpp<br />
debuggers/lldb/unittests/debugees/path with space/CMakeLists.txt<br />
debuggers/lldb/unittests/debugees/path with space/spacedebugee.cpp<br />
debuggers/lldb/unittests/test_lldb.cpp<br />
debuggers/lldb/unittests/test_lldb.h<br />
debuggers/lldb/unittests/testhelper.cpp<br />
debuggers/lldb/unittests/testhelper.h<br />
debuggers/lldb/widgets/lldbconfigpage.cpp<br />
debuggers/lldb/widgets/lldbconfigpage.h<br />
debuggers/lldb/widgets/lldbconfigpage.ui</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>qi437103, apol, KDevelop<br /><strong>Cc: </strong>kdevelop-devel<br /></div>