aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/debugger
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2019-03-14 15:14:40 +0100
committerEike Ziller <eike.ziller@qt.io>2019-03-14 15:51:15 +0100
commitc53ccceff1e1642b7704fa8b0681604c25a833a0 (patch)
tree7258d63fba4dabd6f9e2f2f36089ce45df7fe3af /share/qtcreator/debugger
parent62cafc1782369cde0605fbd6b1182a83d5473a12 (diff)
parent429eb73ace5909e228a58bf8b067823e2be44212 (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.py24
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)