diff options
author | hjk <hjk@qt.io> | 2017-08-15 15:17:12 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-08-21 10:35:06 +0000 |
commit | 8cb944f4ffd3427f200be3068c875481eded9de4 (patch) | |
tree | 230800ce16ea7d6324589efea951b8a78d0d2b52 /share/qtcreator/debugger/dumper.py | |
parent | af73f6e5723a4b9de1d1e55bdbb62188d35385ff (diff) | |
download | qt-creator-8cb944f4ffd3427f200be3068c875481eded9de4.tar.gz |
Debugger: Display summaries for CoreFoundation types
Uses lldb's GetSummary() method to display values for CoreFoundation
string-like variables.
Task-number: QTCREATORBUG-18638
Change-Id: Icca6d9cf7b328c80b44eebe597259f38aba1c3ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'share/qtcreator/debugger/dumper.py')
-rw-r--r-- | share/qtcreator/debugger/dumper.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 1a332ab3e1..e415bc1deb 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -2714,6 +2714,8 @@ class DumperBase: if typeobj.code == TypeCodePointer: self.putFormattedPointer(value) + if value.summary and self.useFancy: + self.putValue(self.hexencode(value.summary), 'utf8:1:0') return self.putAddress(value.address()) @@ -2797,6 +2799,12 @@ class DumperBase: #warn('INAMES: %s ' % self.expandedINames) #warn('EXPANDED: %s ' % (self.currentIName in self.expandedINames)) self.putType(typeName) + + if value.summary is not None and self.useFancy: + self.putValue(self.hexencode(value.summary), 'utf8:1:0') + self.putNumChild(0) + return + self.putNumChild(1) self.putEmptyValue() #warn('STRUCT GUTS: %s ADDRESS: 0x%x ' % (value.name, value.address())) @@ -2858,6 +2866,7 @@ class DumperBase: self.laddress = None # Own address. self.lIsInScope = True self.ldisplay = None + self.summary = None # Always hexencoded UTF-8. self.lbitpos = None self.lbitsize = None self.targetValue = None # For references. @@ -2873,6 +2882,7 @@ class DumperBase: val.laddress = self.laddress val.lIsInScope = self.lIsInScope val.ldisplay = self.ldisplay + val.summary = self.summary val.lbitpos = self.lbitpos val.lbitsize = self.lbitsize val.targetValue = self.targetValue @@ -3190,6 +3200,7 @@ class DumperBase: return self.detypedef().dereference() val = self.dumper.Value(self.dumper) if self.type.code == TypeCodeReference: + val.summary = self.summary if self.nativeValue is None: val.laddress = self.pointer() if val.laddress is None and self.laddress is not None: |