From 06772004a24b0e7550761cbe87c6e07e40e9fc42 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 26 Nov 2024 08:48:50 +0100 Subject: [PATCH] Debugger: Allow gdb inferior calls for symbol address finding Amends a9e8b106a45489ba0, otherwise Qt version discovery breaks. Change-Id: I2b682935e4e5783328fc43840681b988306c6cc5 Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 5 ++++- share/qtcreator/debugger/gdbbridge.py | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index d4241160db6..e7e25a482fe 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -966,7 +966,10 @@ class DumperBase(): children = [('error', error)] self.putSpecialValue("notcallable", children=children) else: - self.putItem(result) + if result is None: + self.putSpecialValue("notcallable") + else: + self.putItem(result) def call(self, rettype, value, func, *args): return self.callHelper(rettype, value, func, args) diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index e1a6ae64d63..fec4ee84b3d 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -737,11 +737,11 @@ class Dumper(DumperBase): return None if val is None else self.fromNativeValue(val) def nativeParseAndEvaluate(self, exp): + # FIXME: This breaks symbol discovery + if not self.allowInferiorCalls: + return None #self.warn('EVALUATE "%s"' % exp) try: - if not self.allowInferiorCalls: - return None - val = gdb.parse_and_eval(exp) return val except RuntimeError as error: @@ -1041,6 +1041,10 @@ class Dumper(DumperBase): except: return 0 + def symbolAddress(self, symbolName): + res = self.findSymbol(symbolName) + return res + def handleNewObjectFile(self, objfile): name = objfile.filename if self.isWindowsTarget():