diff options
Diffstat (limited to 'scripts/gdb/toolchain.py')
| -rw-r--r-- | scripts/gdb/toolchain.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/gdb/toolchain.py b/scripts/gdb/toolchain.py index bbb78102..b9cb90ad 100644 --- a/scripts/gdb/toolchain.py +++ b/scripts/gdb/toolchain.py @@ -1,6 +1,7 @@ import os import subprocess import sys +import importlib.util def setup_toolchain_debugging(): @@ -21,11 +22,14 @@ def setup_toolchain_debugging(): if python_dir: sys.path.insert(0, python_dir) - from libstdcxx.v6.printers import register_libstdcxx_printers - from libstdcxx.v6.xmethods import register_libstdcxx_xmethods - - register_libstdcxx_printers(None) - register_libstdcxx_xmethods(None) + if importlib.util.find_spec("libstdcxx.v6.printers") is None: + print(f"libstdcxx.v6.printers not found in {python_dir}, libstdc++ printers and XMethods will not be available.") + return + + printers = importlib.import_module("libstdcxx.v6.printers") + xmethods = importlib.import_module("libstdcxx.v6.xmethods") + printers.register_libstdcxx_printers(None) + xmethods.register_libstdcxx_xmethods(None) print(f"Loaded Printers & Xmethods from: {python_dir}") except Exception as e: |
