diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-03-14 15:14:40 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-03-14 15:51:15 +0100 |
commit | c53ccceff1e1642b7704fa8b0681604c25a833a0 (patch) | |
tree | 7258d63fba4dabd6f9e2f2f36089ce45df7fe3af /share/qtcreator/debugger | |
parent | 62cafc1782369cde0605fbd6b1182a83d5473a12 (diff) | |
parent | 429eb73ace5909e228a58bf8b067823e2be44212 (diff) |
Merge remote-tracking branch 'origin/4.9'
Conflicts:
qbs/modules/qtc/qtc.qbs
qtcreator.pri
src/plugins/debugger/debuggerkitinformation.cpp
src/plugins/languageclient/languageclientmanager.cpp
src/plugins/plugins.pro
src/plugins/projectexplorer/kit.cpp
src/plugins/projectexplorer/kitmanager.cpp
Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r-- | share/qtcreator/debugger/lldbbridge.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index a961569cd0..cf19c1eac8 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -957,6 +957,12 @@ class Dumper(DumperBase): return self.report('pid="%s"' % self.process.GetProcessID()) self.reportState('enginerunandinferiorrunok') + if self.target is not None: + broadcaster = self.target.GetBroadcaster() + listener = self.debugger.GetListener() + broadcaster.AddListener(listener, lldb.SBTarget.eBroadcastBitBreakpointChanged) + listener.StartListeningForEvents(broadcaster, lldb.SBTarget.eBroadcastBitBreakpointChanged) + def loop(self): event = lldb.SBEvent() @@ -1116,6 +1122,11 @@ class Dumper(DumperBase): # logview pane feature. self.report('token(\"%s\")' % args["token"]) + + def reportBreakpointUpdate(self, bp): + self.report('breakpointmodified={%s}' % self.describeBreakpoint(bp)) + + def readRawMemory(self, address, size): if size == 0: return bytes() @@ -1288,7 +1299,20 @@ class Dumper(DumperBase): self.process.Kill() self.reportResult('', args) + + def handleBreakpointEvent(self, event): + eventType = lldb.SBBreakpoint.GetBreakpointEventTypeFromEvent(event) + # handle only the resolved locations for now.. + if eventType & lldb.eBreakpointEventTypeLocationsResolved: + bp = lldb.SBBreakpoint.GetBreakpointFromEvent(event) + if bp is not None: + self.reportBreakpointUpdate(bp) + + def handleEvent(self, event): + if lldb.SBBreakpoint.EventIsBreakpointEvent(event): + self.handleBreakpointEvent(event) + return out = lldb.SBStream() event.GetDescription(out) #warn("EVENT: %s" % event) |