我正在寻找同时分析和跟踪python代码。我已经看过python跟踪和traceback类,还看过python Cprofiler和profiler类。
跟踪库不包含有关函数运行多长时间以及内存量的信息,Cprofiler库不显示每次调用该函数所需的运行时间,也不显示该函数的流程像跟踪一样的应用程序。我正在寻找的东西类似于xdebug for php。
python< = 2.6
提前致谢
答案 0 :(得分:1)
您是否查看了profile
,文档here
另请查看here:
可视化分析结果
RunSnakeRun 是Mike Fletcher的GUI工具,它使用方形图可视化来自cProfile的配置文件转储。可以根据各种标准对函数/方法调用进行排序,并且可以在可视化和调用统计信息旁边显示源代码。
示例用法:
runsnake some_profile_dump.prof
Gprof2Dot 是一个基于python的工具,可以将分析结果输出转换为可以转换为PNG图像或SVG的图形。
使用python 2.5的典型分析会话看起来像这样(在较旧的平台上,您需要使用实际的脚本而不是-m选项):
python -m cProfile -o stat.prof MYSCRIPY.PY [ARGS...]
python -m pbp.scripts.gprof2dot -f pstats -o stat.dot stat.prof
dot -ostat.png -Tpng stat.dot
PyCallGraph pycallgraph是一个Python模块,可以为Python程序创建调用图。它生成一个PNG文件,显示模块的函数调用及其与其他函数调用的链接,调用函数的次数以及在该函数中花费的时间。
典型用法:
pycallgraph scriptname.py
PyProf2CallTree 是一个脚本,可帮助使用kcachegrind图形化calltree分析器可视化使用cProfile python模块收集的分析数据。
典型用法:
python -m cProfile -o stat.prof MYSCRIPY.PY [ARGS...]
python pyprof2calltree.py -i stat.prof -k