Skip to main content

Posts

Showing posts from November, 2012

A Simple Stack Trace Decorator of Python Function Calls

I have write a simple tools for tracing python function calls. The tools prints out the stack of call while execute the function. Use it as bellow: Consider several functions defined as below(in test.py), we make stack_trace the docorator of test(): import stack_trace def foo(): pass def bar(): foo() return 0 def error(): 1/0 def recur(i): if i == 0: return recur(i-1) @stack_trace.stack_trace(with_return=True, with_exception=True, max_depth=3) def test(): bar() recur(5) error() test() The result of executing test(): test [call] in test.py line:18 bar [call] in test.py line:6 foo [call] in test.py line:3 foo [return] None in test.py line:4 bar [return] 0 in test.py line:8 recur [call] in test.py line:13 recur [call] in test.py line:13 recur [call] in test.py line:13 recur [return] None in test.py line:16 recur [return] Non