From 64f1074e53fb106865763e1c77ab281421956a11 Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Mon, 26 Oct 2020 05:27:58 +0100 Subject: [PATCH] [debug][bindings][python] exception hook --- kotlin-native/llvmDebugInfoC/src/scripts/konan_lldb.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kotlin-native/llvmDebugInfoC/src/scripts/konan_lldb.py b/kotlin-native/llvmDebugInfoC/src/scripts/konan_lldb.py index 4bba6b76527..e2481476e01 100644 --- a/kotlin-native/llvmDebugInfoC/src/scripts/konan_lldb.py +++ b/kotlin-native/llvmDebugInfoC/src/scripts/konan_lldb.py @@ -402,6 +402,7 @@ class KonanProxyTypeProvider: log(lambda: "KonanProxyTypeProvider:{:#x} _proxy: {}".format(valobj.unsigned, self._proxy.__class__.__name__)) def __getattr__(self, item): + log(lambda: f"__attr__({self.unsigned:#x}, {item})") return getattr(self._proxy, item) @@ -483,6 +484,11 @@ def konan_globals_command(debugger, command, result, internal_dict): str_value = extractor(value) result.AppendMessage('{} {}: {}'.format(type, name, str_value)) +def _excepthook(et, ev, tr): + log(lambda: traceback.format_exception(et, ev, tr)) + sys.__excepthook__(et, ev, tr) + + def __lldb_init_module(debugger, _): log(lambda: "init start") __FACTORY['object'] = lambda x, y, z: KonanObjectSyntheticProvider(x, y, z) @@ -506,4 +512,5 @@ def __lldb_init_module(debugger, _): debugger.HandleCommand('command script add -f {}.type_name_command type_name'.format(__name__)) debugger.HandleCommand('command script add -f {}.type_by_address_command type_by_address'.format(__name__)) debugger.HandleCommand('command script add -f {}.symbol_by_name_command symbol_by_name'.format(__name__)) + sys.excepthook = _excepthook log(lambda: "init end")