pdbwhereami
目的
这是一个实用程序模块,可帮助使用以下功能调试 python 源代码
- 谁阿米
- 我在哪里
- 谁打电话给我
- 叫树
- 谁是爸爸
它用在哪里?
此模块在几个关键方面为开发人员提供帮助,特别是在调试和维护代码方面。以下是主要好处:
1.调试:
- 识别错误: 当发生错误时,知道确切的行号和文件可以显着减少搜索原因所花费的时间。通过在错误消息中调用这些函数,开发人员可以快速查明问题出现的位置。
- 可追溯性: 通过记录行号和文件名,开发者可以追踪程序的执行路径,特别是在处理复杂的代码库或多文件项目时。
2.记录:
- 详细日志: 在日志消息中包含行号和文件名可提供详细的上下文,使日志信息更丰富且更易于解释。
- 自动监控:在大型系统中,自动监控工具可以使用这些详细信息来标记代码中经常引起问题的特定部分,从而有助于主动维护。
3. 断言和调试构建:
- 断言: 使用像assert()这样的宏以及whoami、whereami、whocalledme、calledtree和whosdaddy有助于在开发过程中捕获逻辑错误。当断言失败时,它会打印行号和文件名,从而更容易调试。
- 条件编译: 对于调试版本,可以使用这些宏包含附加诊断信息,而不会影响发布版本。
4.文档和维护:
- 代码审查: 在代码审查过程中,拥有详细的错误日志可以帮助审查人员了解流程并更有效地识别潜在的问题区域。
- 维护:对于长期维护,包含行号和文件名的详细错误报告可以帮助新开发人员理解和修复问题,而无需深入熟悉整个代码库。
通过利用 whoami、whereami、whocalledme、calledtree 和 whosdaddy,开发人员可以创建更健壮、可维护且更易于调试的代码。
如何使用它?
from pdbwhereami import whoami, whereami, whocalledme, calledtree, whosdaddydef debug_utility(): whoami() whoami("i am in test_whoami function") print() whereami() whereami("i am in test_whereami") whereami(obsolete_path = true) whereami(path_depth=6) print() whocalledme() whocalledme(obsolete_path = true) whocalledme(path_depth=6) print() calledtree() tstr = calledtree(verbose=false) print(tstr) calledtree(tree_depth=1) calledtree(tree_depth=2) print() whosdaddy()debug_utility()
登录后复制
输出
[debug_utility] ->[debug_utility] -> i am in test_whoami function[whereami/main.py:71]:debug_utility ->[whereami/main.py:72]:debug_utility -> i am in test_whereami[/home/bhagavan/whereami/main.py:73]:debug_utility ->[/home/bhagavan/whereami/main.py:74]:debug_utility ->[whereami/main.py:93]:<module> ->[/home/bhagavan/whereami/main.py:93]:<module> ->[/home/bhagavan/whereami/main.py:93]:<module> ->#1[/home/bhagavan/whereami/main.py:84]:debug_utility ] -></module></module></module>
登录后复制
安装
使用点
pip install pdbwhereami
登录后复制
使用来源
git clone https://github.com/bhagavansprasad/pdbwhereami.gitcd pdbwhereamipip insall ./
登录后复制
以上就是Python 调试实用程序的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:momo,转转请注明出处:https://www.dingdanghao.com/article/687147.html