如何调试崩溃python的python脚本

问题描述 投票:8回答:1

我正在尝试帮助调试导致python(2.7)本身崩溃的python脚本。

  • 该脚本将一些信息记录到文件中,并在每次运行时以不同的停止结束,或者至少它写出的信息位于不同的位置。
  • 该脚本已经有一个try \ catch的。
  • 该脚本以前没有错误地工作过
  • 这是在Window 2008服务器上,具有相当大的RAM,并且在运行时CPU使用率不高。

所以我的问题:

  • 是否有可以提供帮助的工具或技术? 我看到有一个我可以导入的pdb模块,但不确定这是否有助于解决这个问题。
  • 当py脚本崩溃python本身你会如何调试?

GB

python debugging python-2.7 crash
1个回答
9
投票

那么日志中没有例外吗?它只是随机退出不同的地方?

要查看执行时的每个语句,请使用trace模块:

python -u -m trace -t program.py

要在调试器中运行该程序,请使用pdb

python -m pdb program.py

有了这两个,你应该能够看到它是否在程序中导致它退出。如果你没有看到任何证据或模式,那么它可能是程序之外的东西导致它死亡。

在Linux上我也会尝试用strace运行程序并观察OOM杀手或段错误。不确定Windows中会有类似的步骤,Windows没有OOM杀手。

© www.soinside.com 2019 - 2024. All rights reserved.