diff options
author | hjk <hjk121@nokiamail.com> | 2014-02-27 12:54:20 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-02-28 12:16:30 +0100 |
commit | d190263e9a1bab47283974f1d4de67d404eaeb30 (patch) | |
tree | 2ff2c0cecfc04893de36aa47ca62a1561fa67442 /share | |
parent | 762f3e32fdb0caca63d08f49a49065e781b90d09 (diff) |
Debugger: Re-work qt namespace detection with gdb
We can always use python now. Avoids one roundtrip on startup,
a temporary file, and only does it when needed.
Change-Id: Id32a812bec477307da1d93950f7758f3a5699464
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'share')
-rw-r--r-- | share/qtcreator/debugger/gdbbridge.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index 8a3011de4f..2e88280d9f 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -353,6 +353,7 @@ class Dumper(DumperBase): self.childEventAddress = None self.typesReported = {} self.typesToReport = {} + self.qtNamespaceToReport = None def run(self, args): self.output = [] @@ -494,6 +495,10 @@ class Dumper(DumperBase): self.output.append(']') self.typesToReport = {} + if self.qtNamespaceToReport: + self.output.append(',qtnamespace="%s"' % self.qtNamespaceToReport) + self.qtNamespaceToReport = None + return "".join(self.output) def enterSubItem(self, item): @@ -1567,8 +1572,13 @@ class Dumper(DumperBase): pos2 = out.find("QString::Null") if pos1 > -1 and pos2 > -1: namespace = out[pos1:pos2] + + # Doesn't work + #gdb.write('=qt-namespace-detected,ns="%s"' % namespace) + self.qtNamespaceToReport = namespace + self.cachedQtNamespace = namespace - self.ns = lambda: self.cachedQtNamespace + self.qtNamespace = lambda: self.cachedQtNamespace except: pass |