mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00

Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc. Largely based by an initial patch by Jesús Cea Avión, with some influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's unification patch. Things deliberately left out for simplicity: - ustack helpers, I have no way of testing them at this point since they are Solaris-specific - PyFrameObject * in function__entry/function__return, this is SystemTap-specific - SPARC support - dynamic tracing - sys module dtrace facility introspection All of those might be added later.
30 lines
492 B
Python
30 lines
492 B
Python
def function_1():
|
|
function_3(1, 2)
|
|
|
|
# Check stacktrace
|
|
def function_2():
|
|
function_1()
|
|
|
|
# CALL_FUNCTION_VAR
|
|
def function_3(dummy, dummy2):
|
|
pass
|
|
|
|
# CALL_FUNCTION_KW
|
|
def function_4(**dummy):
|
|
return 1
|
|
return 2 # unreachable
|
|
|
|
# CALL_FUNCTION_VAR_KW
|
|
def function_5(dummy, dummy2, **dummy3):
|
|
if False:
|
|
return 7
|
|
return 8
|
|
|
|
def start():
|
|
function_1()
|
|
function_2()
|
|
function_3(1, 2)
|
|
function_4(test=42)
|
|
function_5(*(1, 2), **{"test": 42})
|
|
|
|
start()
|