1

我正在寻找同时分析和跟踪 python 代码。我见过 python trace 和 traceback 类,也见过 python Cprofiler 和 profiler 类。

跟踪库不包含有关函数运行时间或内存量的信息,Cprofiler 库不显示每次调用该函数所花费的时间,也不显示应用程序的流路径,例如跟踪如何。我正在寻找类似于 xdebug for php 的东西。

蟒蛇 <= 2.6

提前致谢

4

1 回答 1

1

你看过了吗,这里profile的文档

也看看这里

可视化分析结果

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 图形调用树分析器可视化使用 cProfile python 模块收集的分析数据。

典型用法:

python -m cProfile -o stat.prof MYSCRIPY.PY [ARGS...]
python pyprof2calltree.py -i stat.prof -k
于 2013-04-03T03:42:42.383 回答