Debugger: Handle failing inferior calls more gracefully

At least for GDB on Windows that's a rather typical situation due to
GDB's "Internal error: pc in read in psymtab, but not in symtab"

Task-number: QTCREATORBUG-11164

Change-Id: If79d586b59e2c1ee37558e8a811091fefc69ac2d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
hjk
2014-04-03 11:23:31 +02:00
committed by Christian Stenger
parent 579da1faf1
commit b5f4678846
4 changed files with 25 additions and 18 deletions
+1 -9
View File
@@ -575,7 +575,7 @@ class Dumper(DumperBase):
def parseAndEvaluate(self, exp):
return gdb.parse_and_eval(exp)
def call2(self, value, func, args):
def callHelper(self, value, func, args):
# args is a tuple.
arg = ""
for i in range(len(args)):
@@ -602,9 +602,6 @@ class Dumper(DumperBase):
gdb.parse_and_eval("free(0x%x)" % ptr)
return result
def call(self, value, func, *args):
return self.call2(value, func, args)
def childWithName(self, value, name):
try:
return value[name]
@@ -1054,11 +1051,6 @@ class Dumper(DumperBase):
i = toInteger(i)
self.putSubItem(i, (base + i).dereference())
def putCallItem(self, name, value, func, *args):
result = self.call2(value, func, args)
with SubItem(self, name):
self.putItem(result)
def isFunctionType(self, type):
return type.code == MethodCode or type.code == FunctionCode