gpt4 book ai didi

python-2.7 - 在 Python 中记录调用堆栈

转载 作者:行者123 更新时间:2023-12-01 02:11:09 25 4
gpt4 key购买 nike

我正在调试不是我编写的大型网络应用程序。这就是为什么我需要一种方法来打印某处的每个堆栈调用(标准输出或文件)。

This讨论对我没有帮助。我在考虑 pdb 但在我寻找自动化解决方案时它需要交互。在我的应用程序开始执行时,我只有一个函数调用,并且希望查看它进行的所有其他调用。

该行为应该有点类似于 Unix tee 命令。 Python 解释器应该执行代码,同时它应该记录来自不同模块的所有函数调用。

有什么建议么?

编辑:

#!/usr/bin/env python
import openerp
if __name__ == "__main__":
openerp.cli.main()

因此,从这一点开始,我想记录 main() 所做的所有函数调用。

最佳答案

如果您使用 python 跟踪模块,您可以调试该解释器执行的每个函数或行。

无需修改程序即可从 cli 调用跟踪模块:

  #print each executed line:
python -m trace --count -C . -t MypyFile.py
#print only called functions:
python -m trace --listfuncs MypyFile.py

使用 -t 跟踪每一行,使用 -l 调用每个函数。

更多信息: https://docs.python.org/2/library/trace.html

关于python-2.7 - 在 Python 中记录调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com