/lab/run_trace.py
Python | 35 lines | 21 code | 10 blank | 4 comment | 3 complexity | 048d49bdea677fa2534860db090879a3 MD5 | raw file
Possible License(s): Apache-2.0
- # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
- # For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
- """Run a simple trace function on a file of Python code."""
- import os, sys
- nest = 0
- def trace(frame, event, arg):
- global nest
- if nest is None:
- # This can happen when Python is shutting down.
- return None
- print "%s%s %s %d @%d" % (
- " " * nest,
- event,
- os.path.basename(frame.f_code.co_filename),
- frame.f_lineno,
- frame.f_lasti,
- )
- if event == 'call':
- nest += 1
- if event == 'return':
- nest -= 1
- return trace
- the_program = sys.argv[1]
- sys.settrace(trace)
- execfile(the_program)