From 247bbe9afdaf18cfa6d3a18d059d45e98b1d2116 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 3 Aug 2024 08:43:45 -0400 Subject: [PATCH] wip: update run_sysmon.py --- lab/run_sysmon.py | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/lab/run_sysmon.py b/lab/run_sysmon.py index fbbd6a315..036221e87 100644 --- a/lab/run_sysmon.py +++ b/lab/run_sysmon.py @@ -27,6 +27,15 @@ def bytes_to_lines(code): return b2l +MY_EVENTS = ( + events.PY_RETURN + | events.PY_RESUME + | events.LINE + | events.BRANCH_TAKEN + | events.BRANCH_NOT_TAKEN + | events.JUMP +) + def show_off(label, code, instruction_offset): if code.co_filename == the_program: b2l = bytes_to_lines(code) @@ -49,12 +58,7 @@ def sysmon_py_start(code, instruction_offset): sys.monitoring.set_local_events( my_id, code, - events.PY_RETURN - | events.PY_RESUME - | events.LINE - | events.BRANCH_TAKEN - | events.BRANCH_NOT_TAKEN - | events.JUMP, + MY_EVENTS, ) @@ -93,18 +97,19 @@ def sysmon_jump(code, instruction_offset, destination_offset): return sys.monitoring.DISABLE -sys.monitoring.set_events( - my_id, - events.PY_START | events.PY_UNWIND, -) -register(events.PY_START, sysmon_py_start) -register(events.PY_RESUME, sysmon_py_resume) -register(events.PY_RETURN, sysmon_py_return) -# register(events.PY_UNWIND, sysmon_py_unwind_arcs) -register(events.LINE, sysmon_line) -#register(events.BRANCH, sysmon_branch) -register(events.BRANCH_TAKEN, sysmon_branch_taken) -register(events.BRANCH_NOT_TAKEN, sysmon_branch_not_taken) -register(events.JUMP, sysmon_jump) +if 1: + sys.monitoring.set_events( + my_id, + events.PY_START | events.PY_UNWIND, + ) + register(events.PY_START, sysmon_py_start) + register(events.PY_RESUME, sysmon_py_resume) + register(events.PY_RETURN, sysmon_py_return) + # register(events.PY_UNWIND, sysmon_py_unwind_arcs) + register(events.LINE, sysmon_line) + register(events.BRANCH, sysmon_branch) + register(events.BRANCH_TAKEN, sysmon_branch_taken) + register(events.BRANCH_NOT_TAKEN, sysmon_branch_not_taken) + register(events.JUMP, sysmon_jump) exec(code)