aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-12-17 12:27:02 +0100
committerhjk <hjk@qt.io>2018-12-17 13:21:02 +0000
commit2a67a86c2ff0f5a33dee133dc45744d1c5a179c3 (patch)
tree330690d39f5307bb51bc50c74509059751b6a1af /share
parent40f2f9971409acf3e2e531411826a01ed5223561 (diff)
Debugger: Add fallback when gdb.Value.cast() fails for typedefs
Fixes: QTCREATORBUG-18450 Change-Id: I9239beb7e1879a284e28a30579129fe487eb2dd2 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/gdbbridge.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py
index c6e6adc55f..efa71b120c 100644
--- a/share/qtcreator/debugger/gdbbridge.py
+++ b/share/qtcreator/debugger/gdbbridge.py
@@ -247,8 +247,14 @@ class Dumper(DumperBase):
if targetType.code == gdb.TYPE_CODE_ARRAY:
val = self.Value(self)
else:
- # Cast may fail (e.g for arrays, see test for Bug5799)
- val = self.fromNativeValue(nativeValue.cast(targetType))
+ try:
+ # Cast may fail for arrays, for typedefs to __uint128_t with
+ # gdb.error: That operation is not available on integers
+ # of more than 8 bytes.
+ # See test for Bug5799, QTCREATORBUG-18450.
+ val = self.fromNativeValue(nativeValue.cast(targetType))
+ except:
+ val = self.Value(self)
#warn('CREATED TYPEDEF: %s' % val)
else:
val = self.Value(self)