forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user