我正在尝试调试很久以前编写的一些代码,并且由于稀缺文档需要一种方法来跟踪从执行到最终输出调用的函数,可能还有调用它们的参数。一种sys.traceback
,但在没有错误的情况下。将报告作为HTML或其他可导出格式获取也很不错。
有点像:
main()->class->run()->getData()->saveData()
我已经查看了Can I trace all the functions/methods executing in a python script?,但它没有回答这个问题,因为函数没有报告。
答案 0 :(得分:1)
尝试使用pycallgraph
或其他"调用图"可视化工具。
答案 1 :(得分:0)
可能你需要settrace功能
<强> CODE 强>
import sys
def traceit(frame, event, arg):
if event == "call":
co = frame.f_code
func_name = co.co_name
print("event:", event,"of function",func_name)
return traceit
def main():
print ("In main")
for i in range(5):
print (i, i*3)
print ("Done.")
sys.settrace(traceit)
main()
OUT PUT
event: call of function main
In main
0 0
1 3
2 6
3 9
4 12
Done.