diff options
author | hjk <hjk121@nokiamail.com> | 2014-03-19 12:08:25 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-03-19 12:57:07 +0100 |
commit | 05d7dd1bb908caa8bf4f31b5aaf9a2f33f0ca2b5 (patch) | |
tree | fda9d5d5a0fd5368d310afa63aa9233059ab0ecc /share/qtcreator/debugger | |
parent | 1111c06aaccef2cad1d136b38c8c1ab48d0a5ddd (diff) | |
download | qt-creator-05d7dd1bb908caa8bf4f31b5aaf9a2f33f0ca2b5.tar.gz |
Debugger: Synchronize LLDB bridge output
Output coming from spontaneous events should not interfere
with output produces by lengthy display generation.
Change-Id: I2a9e4fa93db131cfdac4cb0eb613c0159214d8be
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r-- | share/qtcreator/debugger/lldbbridge.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 6a6723d132..75314d99b0 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -227,6 +227,7 @@ class Dumper(DumperBase): lldb.theDumper = self + self.outputLock = threading.Lock() self.debugger = lldb.SBDebugger.Create() #self.debugger.SetLoggingCallback(loggingCallback) #Same as: self.debugger.HandleCommand("log enable lldb dyld step") @@ -1056,7 +1057,12 @@ class Dumper(DumperBase): with SubItem(self, child): self.putItem(child) - def reportVariables(self, _ = None): + def reportVariables(self, args = None): + with self.outputLock: + self.reportVariablesHelper(args) + sys.stdout.write("@\n") + + def reportVariablesHelper(self, _ = None): frame = self.currentFrame() if frame is None: return @@ -1138,7 +1144,6 @@ class Dumper(DumperBase): self.putItem(value) self.put(']') - self.report('') def reportData(self, _ = None): if self.process is None: @@ -1167,7 +1172,8 @@ class Dumper(DumperBase): self.report(result) def report(self, stuff): - sys.stdout.write(stuff + "@\n") + with self.outputLock: + sys.stdout.write(stuff + "@\n") def reportStatus(self, msg): self.report('statusmessage="%s"' % msg) |