繁体   English   中英

cProfile 用于非终止 python 程序

[英]cProfile for non terminating python program

我有一个用于调试的非终止 python 程序

import faulthandler
faulthandler.dump_traceback_later(480,exit=True)
call_very_complicated_python_code()

我想对其进行分析以更好地了解哪些部分被卡住了:

$ python -m cProfile -o program.prof my_program.py my_input.txt
  • faulhandler机制是否会干扰分析?
  • program.prof并不总是生成。
  • 有什么办法可以解决这个问题?

我没有使用faulthandler ,但无论如何听起来都是错误的工具。 如果您的代码永远不会结束或错误,那么追溯来自哪里?

分析用于测量代码的速度。 如果您想了解代码,我建议您使用 pdb 之类的工具对其进行调试。

在模块顶部添加import pdb

在您想停止并检查的区域中添加: pdb.set_trace()

也许您有一些从未竞争过的递归或循环?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM