diff options
author | Bernhard Urban-Forster <lewurm@gmail.com> | 2019-10-24 15:07:22 +0300 |
---|---|---|
committer | monojenkins <jo.shields+jenkins@xamarin.com> | 2019-10-24 15:07:22 +0300 |
commit | 861812252a7cf5ab092b9fa8d75e3856c00f6a81 (patch) | |
tree | e9f0aeb104d0ec93c4378c2a9836a1c6e86d4a07 /data | |
parent | 2c8e0f68c17f6fa2e79d64a9a9bc46b2a68beefe (diff) |
[lldb] another fix for handling interp frames (#17535)
[lldb] another fix for handling interp frames
And improved error message in case it breaks again.
Diffstat (limited to 'data')
-rw-r--r-- | data/lldb/monobt.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/data/lldb/monobt.py b/data/lldb/monobt.py index f84156c5dac..8da89c2fb4c 100644 --- a/data/lldb/monobt.py +++ b/data/lldb/monobt.py @@ -1,4 +1,5 @@ import lldb +import traceback def print_frames(thread, num_frames, current_thread): # TODO: Make output header similar to bt. @@ -19,11 +20,11 @@ def print_frames(thread, num_frames, current_thread): ipoffset = frame.EvaluateExpression('ip').GetValueAsUnsigned() insn = '' if ipoffset != 0: - ipoffset -= frame.EvaluateExpression('imethod->code').GetValueAsUnsigned() - insn = "\"" + frame.EvaluateExpression('mono_interp_opname [*ip]').summary[1:-1] + "\"" + ipoffset -= frame.EvaluateExpression('frame->imethod->code').GetValueAsUnsigned() + insn = "\"" + frame.EvaluateExpression('mono_interp_opname (*ip)').summary[1:-1] + "\"" var = '%s @ %d %s || %s' % (methoddesc, ipoffset, insn, frame) except Exception as e: - print("DBG: execfail:" + str(e)) + traceback.print_exc() elif function_name == "mono_interp_transform_method": try: s = 'runtime_method->method' |