# File: sys-settrace-example-1.py import sys def test(n): j = 0 for i in range(n): j = j + i return n def tracer(frame, event, arg): print event, frame.f_code.co_name, frame.f_lineno, "->", arg return tracer # tracer is activated on the next call, return, or exception sys.settrace(tracer) # trace this function call test(1) # disable tracing sys.settrace(None) # don't trace this call test(2) ## call test 3 -> None ## line test 3 -> None ## line test 4 -> None ## line test 5 -> None ## line test 5 -> None ## line test 6 -> None ## line test 5 -> None ## line test 7 -> None ## return test 7 -> 1