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

List:       kde-commits
Subject:    [kdevelop] /: KDevelop LLDB support - GDB plugin refactor
From:       Peifeng Yu <7437103 () gmail ! com>
Date:       2016-06-01 0:01:18
Message-ID: E1b7tb4-0007ZL-D7 () scm ! kde ! org
[Download RAW message or body]

Git commit 3d7d2dc59ed8014cbd4c87047526a642820c7866 by Peifeng Yu.
Committed on 01/06/2016 at 00:01.
Pushed by peifengyu into branch 'master'.

KDevelop LLDB support - GDB plugin refactor

Summary:
Extract common code from the GDB debugger plugin, which potentially can be =
reused by LLDB debugger plugin.
This refactor only touches the low-level plugin part. The UI related and ot=
her things (namely launch configuration and configpages) will be done in a =
separate RR later.

Changes done:
- Rename namespace GDBMI to KDevDebugger::MI
- Move MI parser code to common folder
- Rename namespace GDBDebugger to KDevDebugger::GDB
- Move code from GDBDebugger::DebugSession to KDevDebugger::DebugSessionBas=
e and make KDevDebugger::GDB::DebugSession inherits from it
- Move code from GDBDebugger::GDB to KDevDebugger::DebuggerBase and make KD=
evDebugger::GDB::GDB inherits from it
- Move code from GDBDebugger::GdbFrameStackModel to KDevDebugger::MIFrameSt=
ackModel and make KDevDebugger::GDB::GdbFrameStackModel inherits from it
- Move code from GDBDebugger::BreakpointController to KDevDebugger::Breakpo=
intControllerBase and make KDevDebugger::GDB::BreakpointController inherits=
 from it
- Move code from GDBDebugger::VariableController to KDevDebugger::VariableC=
ontrollerBase and make KDevDebugger::GDB::VariableController inherits from =
it
- Move code from GDBDebugger::GdbVariable to KDevDebugger::MIVariable and m=
ake KDevDebugger::GDB::GdbVariable inherits from it
- Move stty and stringhelper to common code

It's still unknown how much LLDB-MI comforms to the MI specification, so I =
might be moving too much code to common code, but I try to reuse as many co=
de as possible when implementing LLDB support, and will move some GDB-speci=
fic code back when it's suitable.

Note: unit test requires protected access to several class in KDevPlatform,=
 due to namespace changes, the friend class declaration in KDevPlatform are=
 invalid now. You will need to change that in KDevPlatform:debugger/variabl=
e/variablecollection.h to get the unit test compile. Anyway, I don't it's a=
 good idea to have friend class declaration in KDevPlatform, and I'm lookin=
g into fix that later.

Test Plan: Use existing unit tests, which should all pass, except 4-5 tests=
 that are failing before these change.

Reviewers: apol

Subscribers: kdevelop-devel

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


http://commits.kde.org/kdevelop/3d7d2dc59ed8014cbd4c87047526a642820c7866
[prev in list] [next in list] [prev in thread] [next in thread] 

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