跳转到主要内容

以Xdebug格式缩进的函数跟踪

项目描述

此模块从被调用时刻开始将函数跟踪打印到stdout

import xtrace
xtrace.start()
...
xtrace.stop()

您也可以从命令行调用xtrace作为模块

python -m xtrace <script.py> [param] ...

或用作独立脚本

python xtrace.py <script.py> [param] ...

输出格式受到Xdebug函数跟踪的启发,并且可能与它合并以兼容PHP检查工具http://xdebug.org/docs/execution_trace。但我没有足够的时间对其进行打磨,因此如果您知道如何使它们更接近,请随意发送补丁。

此代码已发布到公共领域。请享受!

历史

  • 0.5 - 修复当执行脚本中的函数尝试读取其全局作用域中的变量时的重大崩溃

  • 0.4 - 添加了蜂鸣函数,当在DEBUG模式下触发时,会发出蜂鸣声

  • 0.3 - 修复从控制台运行时的AttributeError(问题#2)

  • 0.2 - 添加了版本信息,支持从命令行运行,将主要功能移动到一个类中以隔离局部作用域中使用的变量

  • 0.1 - 初次发布

致谢

Amaury Forgeot d’Arc,对Python内部的宝贵见解

调试

要查看产生的各种内部事件,这些事件在Python提供的标准数据之上,请启用DEBUG选项

import xtrace
xtrace.DEBUG = True

这将调用beep函数以对每个有趣的事件进行响应。您可以使用自己的来覆盖它(猴子补丁)以过滤消息、转发等。

已知的Python错误

影响跟踪输出的Python错误,以意外方式影响

http://bugs.python.org/issue15005(Python 2,仅限Linux)
  • 在将屏幕打印到跟踪函数时,从子进程调用捕获的stdout会损坏

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分发

xtrace-0.5.zip (5.1 kB 查看哈希值)

上传时间

由以下机构支持