diff --git a/src/plugins/debugger/lldb/ipcengineguest.cpp b/src/plugins/debugger/lldb/ipcengineguest.cpp index fe82940a6b4..3ce8b80d1db 100644 --- a/src/plugins/debugger/lldb/ipcengineguest.cpp +++ b/src/plugins/debugger/lldb/ipcengineguest.cpp @@ -274,27 +274,31 @@ void IPCEngineGuest::rpcCallback(quint64 f, QByteArray payload) { QDataStream s(payload); SET_NATIVE_BYTE_ORDER(s); + BreakpointId id; BreakpointParameters d; + s >> id; s >> d; - addBreakpoint(d); + addBreakpoint(id, d); } break; case IPCEngineHost::RemoveBreakpoint: { QDataStream s(payload); SET_NATIVE_BYTE_ORDER(s); - quint64 token; - s >> token; - removeBreakpoint(token); + BreakpointId id; + s >> id; + removeBreakpoint(id); } break; case IPCEngineHost::ChangeBreakpoint: { QDataStream s(payload); SET_NATIVE_BYTE_ORDER(s); + BreakpointId id; BreakpointParameters d; + s >> id; s >> d; - changeBreakpoint(d); + changeBreakpoint(id, d); } break; case IPCEngineHost::RequestUpdateWatchData: diff --git a/src/plugins/debugger/lldb/ipcengineguest.h b/src/plugins/debugger/lldb/ipcengineguest.h index 8f6cb8319fb..5d849691f7b 100644 --- a/src/plugins/debugger/lldb/ipcengineguest.h +++ b/src/plugins/debugger/lldb/ipcengineguest.h @@ -74,9 +74,9 @@ public: virtual void activateFrame(qint64 token) = 0; virtual void selectThread(qint64 token) = 0; virtual void disassemble(quint64 pc) = 0; - virtual void addBreakpoint(const BreakpointParameters &bp) = 0; - virtual void removeBreakpoint(quint64 id) = 0; - virtual void changeBreakpoint(const BreakpointParameters &bp) = 0; + virtual void addBreakpoint(BreakpointId id, const BreakpointParameters &bp) = 0; + virtual void removeBreakpoint(BreakpointId id) = 0; + virtual void changeBreakpoint(BreakpointId id, const BreakpointParameters &bp) = 0; virtual void requestUpdateWatchData(const WatchData &data, const WatchUpdateFlags & flags = WatchUpdateFlags()) = 0; diff --git a/src/plugins/debugger/lldb/ipcenginehost.cpp b/src/plugins/debugger/lldb/ipcenginehost.cpp index b8913655a1c..02177850c49 100644 --- a/src/plugins/debugger/lldb/ipcenginehost.cpp +++ b/src/plugins/debugger/lldb/ipcenginehost.cpp @@ -241,20 +241,22 @@ void IPCEngineHost::fetchDisassembler(DisassemblerViewAgent *v) rpcCall(Disassemble, p); } - -void IPCEngineHost::addBreakpoint(const BreakpointParameters &bp) +void IPCEngineHost::insertBreakpoint(BreakpointId id) { + breakHandler()->notifyBreakpointInsertProceeding(id); QByteArray p; { QDataStream s(&p, QIODevice::WriteOnly); SET_NATIVE_BYTE_ORDER(s); - s << bp; + s << id; + s << breakHandler()->breakpointData(id); } rpcCall(AddBreakpoint, p); } -void IPCEngineHost::removeBreakpoint(quint64 id) +void IPCEngineHost::removeBreakpoint(BreakpointId id) { + breakHandler()->notifyBreakpointRemoveProceeding(id); QByteArray p; { QDataStream s(&p, QIODevice::WriteOnly); @@ -264,13 +266,15 @@ void IPCEngineHost::removeBreakpoint(quint64 id) rpcCall(RemoveBreakpoint, p); } -void IPCEngineHost::changeBreakpoint(const BreakpointParameters &bp) +void IPCEngineHost::changeBreakpoint(BreakpointId id) { + breakHandler()->notifyBreakpointChangeProceeding(id); QByteArray p; { QDataStream s(&p, QIODevice::WriteOnly); SET_NATIVE_BYTE_ORDER(s); - s << bp; + s << id; + s << breakHandler()->breakpointData(id); } rpcCall(RemoveBreakpoint, p); } diff --git a/src/plugins/debugger/lldb/ipcenginehost.h b/src/plugins/debugger/lldb/ipcenginehost.h index 9a82fcf769f..a36508bdf87 100644 --- a/src/plugins/debugger/lldb/ipcenginehost.h +++ b/src/plugins/debugger/lldb/ipcenginehost.h @@ -104,9 +104,9 @@ public: void activateFrame(int index); void selectThread(int index); void fetchDisassembler(DisassemblerViewAgent *); - void addBreakpoint(const BreakpointParameters &bp); - void removeBreakpoint(quint64 id); - void changeBreakpoint(const BreakpointParameters &bp); + void insertBreakpoint(BreakpointId id); + void removeBreakpoint(BreakpointId id); + void changeBreakpoint(BreakpointId id); void updateWatchData(const WatchData &data, const WatchUpdateFlags &flags = WatchUpdateFlags());