[debug][bindings][python] exception hook

This commit is contained in:
Vasily Levchenko
2020-10-26 05:27:58 +01:00
committed by Stanislav Erokhin
parent c143250b99
commit 64f1074e53
@@ -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")