[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdevelop] debuggers: Merge LLDB plugin into master
From:       Peifeng Yu <7437103 () gmail ! com>
Date:       2016-08-01 6:01:27
Message-ID: E1bU6I3-00021C-F4 () code ! kde ! org
[Download RAW message or body]

Git commit 63e47f1d09dfa793f34bca256d1e479d849fbd11 by Peifeng Yu.
Committed on 01/08/2016 at 06:01.
Pushed by peifengyu into branch 'master'.

Merge LLDB plugin into master

Summary:
LLDB plugin is now working for basic debugging use cases.

Things that work:
- Basic execution control: start, continue, step etc.
- Break points
- Frame stack list
- Symbol info when hover
- Variables & Expressions (still have caveats)
- Multi-threaded debugee (must use LLDB trunk version)
- Debugger console
- Remote debugging (only tested on localhost)

Things not working yet:
- Disassembly/Register view
- Memory view
- Pending break points and anything requires pending break points
- Watch points
- Attach to process (works internally, no UI to access it)

Not tested:
- Examine core file
- Drkonqi support

There's a `debugers/lldb/TODO.txt` which contains more detailed description of \
current limitations and link to related LLDB bug reports.

Note: the whole thing might crash from time to time without [this \
bug](https://llvm.org/bugs/show_bug.cgi?id=28026) fixed. I'm using LLDB built myself \
with the code fixed. The patch can be found in the bug report.

Test Plan:
- GDB unit tests (such that I didn't break anything)
- LLDB unit tests (some of them are skipped due to limitations mentioned above)
- Manually tested

Reviewers: apol, #kdevelop

Reviewed By: apol, #kdevelop

Subscribers: kdevelop-devel

Differential Revision: https://phabricator.kde.org/D2293

M  +20   -2    debuggers/CMakeLists.txt
M  +6    -3    debuggers/common/CMakeLists.txt
M  +29   -10   debuggers/common/dbgglobal.h
M  +0    -50   debuggers/common/mi/mi.h
M  +0    -148  debuggers/common/mi/micommand.cpp
M  +1    -2    debuggers/common/mi/micommandqueue.cpp
M  +4    -1    debuggers/common/mi/miparser.cpp
M  +20   -14   debuggers/common/midebugger.cpp
M  +1    -37   debuggers/common/midebuggerplugin.cpp
M  +8    -10   debuggers/common/midebuggerplugin.h
M  +6    -8    debuggers/common/midebugjobs.cpp
M  +24   -27   debuggers/common/midebugsession.cpp
M  +8    -3    debuggers/common/midebugsession.h
M  +0    -4    debuggers/common/miframestackmodel.cpp
M  +2    -2    debuggers/common/mivariable.cpp
M  +2    -2    debuggers/common/mivariable.h
M  +28   -26   debuggers/common/mivariablecontroller.cpp
M  +3    -1    debuggers/common/mivariablecontroller.h
A  +400  -0    debuggers/common/widgets/debuggerconsoleview.cpp     [License: GPL \
(v2/3)] A  +157  -0    debuggers/common/widgets/debuggerconsoleview.h     [License: \
GPL (v2/3)] A  +85   -0    debuggers/common/widgets/debuggerconsoleview.ui
M  +2    -0    debuggers/common/widgets/disassemblewidget.cpp
M  +0    -2    debuggers/common/widgets/disassemblewidget.h
M  +0    -18   debuggers/gdb/CMakeLists.txt
M  +30   -15   debuggers/gdb/debuggerplugin.cpp
M  +3    -5    debuggers/gdb/debuggerplugin.h
M  +31   -11   debuggers/gdb/debugsession.cpp
M  +5    -3    debuggers/gdb/debugsession.h
M  +2    -2    debuggers/gdb/gdb.cpp
M  +18   -16   debuggers/gdb/gdbconfigpage.cpp
M  +1    -0    debuggers/gdb/unittests/CMakeLists.txt
A  +40   -0    debuggers/gdb/unittests/debugeeechoenv.cpp     [License: GPL (v2/3)]
M  +68   -18   debuggers/gdb/unittests/test_gdb.cpp
M  +1    -0    debuggers/gdb/unittests/test_gdb.h
A  +78   -0    debuggers/lldb/CMakeLists.txt
A  +4    -0    debuggers/lldb/Messages.sh
A  +121  -0    debuggers/lldb/TODO.txt
A  +32   -0    debuggers/lldb/controllers/breakpointcontroller.cpp     [License: GPL \
(v2/3)] A  +43   -0    debuggers/lldb/controllers/breakpointcontroller.h     \
[License: GPL (v2/3)] A  +118  -0    debuggers/lldb/controllers/framestackmodel.cpp   \
[License: GPL (v2/3)] A  +60   -0    debuggers/lldb/controllers/framestackmodel.h     \
[License: GPL (v2/3)] A  +75   -0    debuggers/lldb/controllers/variable.cpp     \
[License: GPL (v2/3)] A  +56   -0    debuggers/lldb/controllers/variable.h     \
[License: GPL (v2/3)] A  +66   -0    \
debuggers/lldb/controllers/variablecontroller.cpp     [License: GPL (v2/3)] A  +50   \
-0    debuggers/lldb/controllers/variablecontroller.h     [License: GPL (v2/3)] A  \
+100  -0    debuggers/lldb/debuggerplugin.cpp     [License: GPL (v2/3)] A  +66   -0   \
debuggers/lldb/debuggerplugin.h     [License: GPL (v2/3)] A  +298  -0    \
debuggers/lldb/debugsession.cpp     [License: GPL (v2/3)] A  +91   -0    \
debuggers/lldb/debugsession.h     [License: GPL (v2/3)] A  +44   -0    \
debuggers/lldb/kdevlldb.json A  +6    -0    debuggers/lldb/kdevlldb.qrc
A  +22   -0    debuggers/lldb/kdevlldbui.rc
A  +229  -0    debuggers/lldb/lldbcommand.cpp     [License: GPL (v2/3)]
A  +54   -0    debuggers/lldb/lldbcommand.h     [License: GPL (v2/3)]
A  +142  -0    debuggers/lldb/lldbdebugger.cpp     [License: GPL (v2/3)]
A  +46   -0    debuggers/lldb/lldbdebugger.h     [License: GPL (v2/3)]
A  +105  -0    debuggers/lldb/lldblauncher.cpp     [License: GPL (v2/3)]
A  +52   -0    debuggers/lldb/lldblauncher.h     [License: GPL (v2/3)]
A  +21   -0    debuggers/lldb/unittests/debugees/CMakeLists.txt
A  +23   -0    debuggers/lldb/unittests/debugees/debugee space.cpp     [License: LGPL \
(v2)] A  +41   -0    debuggers/lldb/unittests/debugees/debugee.cpp     [License: LGPL \
(v2)] A  +31   -0    debuggers/lldb/unittests/debugees/debugeecrash.cpp     [License: \
LGPL (v2)] A  +40   -0    debuggers/lldb/unittests/debugees/debugeeechoenv.cpp     \
[License: GPL (v2/3)] A  +37   -0    \
debuggers/lldb/unittests/debugees/debugeeexception.cpp     [License: LGPL (v2)] A  \
+35   -0    debuggers/lldb/unittests/debugees/debugeemultilocbreakpoint.cpp     \
[License: LGPL (v2)] A  +53   -0    \
debuggers/lldb/unittests/debugees/debugeemultiplebreakpoint.cpp     [License: LGPL \
(v2)] A  +31   -0    debuggers/lldb/unittests/debugees/debugeeqt.cpp     [License: \
LGPL (v2)] A  +32   -0    debuggers/lldb/unittests/debugees/debugeerecursion.cpp     \
[License: LGPL (v2)] A  +37   -0    debuggers/lldb/unittests/debugees/debugeeslow.cpp \
[License: LGPL (v2)] A  +42   -0    \
debuggers/lldb/unittests/debugees/debugeethreads.cpp     [License: LGPL (v2)] A  +2   \
-0    debuggers/lldb/unittests/debugees/path with space/CMakeLists.txt A  +31   -0    \
debuggers/lldb/unittests/debugees/path with space/spacedebugee.cpp     [License: LGPL \
(v2)] C  +860  -1054 debuggers/lldb/unittests/test_lldb.cpp [from: \
debuggers/gdb/unittests/test_gdb.cpp - 051% similarity] C  +77   -53   \
debuggers/lldb/unittests/test_lldb.h [from: debuggers/gdb/unittests/test_gdb.h - 052% \
similarity] A  +169  -0    debuggers/lldb/unittests/testhelper.cpp     [License: GPL \
(v2/3)] A  +69   -0    debuggers/lldb/unittests/testhelper.h     [License: GPL \
(v2/3)] A  +121  -0    debuggers/lldb/widgets/lldbconfigpage.cpp     [License: GPL \
(v2/3)] A  +56   -0    debuggers/lldb/widgets/lldbconfigpage.h     [License: GPL \
(v2/3)] A  +226  -0    debuggers/lldb/widgets/lldbconfigpage.ui

http://commits.kde.org/kdevelop/63e47f1d09dfa793f34bca256d1e479d849fbd11


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic