debugutils
-调试实用程序¶
一小部分实用程序,可用于调试行为不佳的应用程序。目前这篇文章的重点是如何使用 pdb
,内置的Python调试器。
- boltons.debugutils.pdb_on_exception(limit=100)[源代码]¶
安装一个处理程序,每当遇到未处理的异常时,该处理程序都会附加一个事后PDB控制台,而不是退出。
- 参数:
limit (int) -- 打印回溯时要显示的最大堆栈帧数量
使用以下命令可以从命令行获得类似的效果:
python -m pdb your_code.py
但
pdb_on_exception
允许您在应用程序内有条件地执行此操作。要恢复默认行为,只需执行以下操作::sys.excepthook = sys.__excepthook__
- boltons.debugutils.pdb_on_signal(signalnum=None)[源代码]¶
安装信号处理程序,用于 signalnum ,它缺省为
SIGINT
,或键盘中断/ctrl-c。此信号处理程序启动一个pdb
断点。在并发系统中,结果会有所不同,但这种技术对于调试无限循环或轻松进入深层调用堆栈非常有用。
- boltons.debugutils.wrap_trace(obj, hook=<function trace_print_hook>, which=None, events=None, label=None)[源代码]¶
监视对象的交互。每当代码调用方法、获取属性或设置属性时,都会调用事件。默认情况下,会打印跟踪输出,但自定义跟踪 hook 才能过关。
- 参数:
返回的对象与传入的对象不是同一个对象。它不会通过身份检查。然而,它会通过的
isinstance()
检查,因为它是传递的对象的新子类型的新实例。