From e33da6a6b3c1b85d7bb6e961a60803eaf71afce5 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 13 Apr 2015 15:52:07 +0200 Subject: [PATCH] Debugger: Remove GDB specific access test in generic pointer code The field checked for does not even exists in lldb.SBValue. Change-Id: I062ccf62da2e2ea3f011d0b841cba0e87f7c6fa9 Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index e8ff7ec5080..33c0a44f026 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -1057,10 +1057,18 @@ class DumperBase: innerType = value.type.target().unqualified() innerTypeName = str(innerType) + goodPointer = False try: target = value.dereference() - target.is_optimized_out # Access test. + str(target) # Dummy access. + if self.isLldb and target.GetError().Fail(): + pass + else: + goodPointer = True except: + pass + + if not goodPointer: # Failure to dereference a pointer should at least # show the value of a pointer. self.putValue(self.cleanAddress(value)) @@ -1128,7 +1136,6 @@ class DumperBase: self.currentChildType = self.stripClassTag(innerTypeName) self.putItem(value.dereference()) self.currentChildType = savedCurrentChildType - #self.putPointerValue(value) self.putOriginalAddress(value) return