diff options
author | hjk <hjk121@nokiamail.com> | 2014-02-10 17:38:58 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-02-11 10:44:54 +0100 |
commit | a19353674c34e3cb3ca40bcb6c7fb7fb7e289770 (patch) | |
tree | cfd02dee9ed829c3c0fdc79d822d6510830c7299 /share/qtcreator/debugger/lldbbridge.py | |
parent | c7f80c2c00ad71a6f824de357cdc7e8187f01390 (diff) | |
download | qt-creator-a19353674c34e3cb3ca40bcb6c7fb7fb7e289770.tar.gz |
Debugger: Stop process before manipulating breakpoints with LLDB
This seems to be a LLDB/Linux specific problem.
Task-number: QTCREATORBUG-11441
Change-Id: I390e17737a63f53dc1d1e2060ef87a3ad94fedf5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'share/qtcreator/debugger/lldbbridge.py')
-rw-r--r-- | share/qtcreator/debugger/lldbbridge.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index d5c1c3ea50..464c14c076 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -31,6 +31,7 @@ import atexit import inspect import json import os +import platform import re import select import sys @@ -1388,6 +1389,13 @@ class Dumper(DumperBase): return self.target.BreakpointDelete(id) def handleBreakpoints(self, args): + # This seems to be only needed on Linux. + needStop = False + if self.process and platform.system() == "Linux": + needStop = self.process.GetState() != lldb.eStateStopped + if needStop: + error = self.process.Stop() + result = 'bkpts=[' for bp in args['bkpts']: operation = bp['operation'] @@ -1407,6 +1415,10 @@ class Dumper(DumperBase): result += '{operation="removed",modelid="%s"}' % bp["modelid"] result += "]" + + if needStop: + error = self.process.Continue() + self.report(result) def listModules(self, args): |