如何调试崩溃python的python脚本

时间:2014-09-05 05:12:17

标签: python debugging python-2.7 crash

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

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

所以我的问题:

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

GB

1 个答案:

答案 0 :(得分:9)

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

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

python -u -m trace -t program.py

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

python -m pdb program.py

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

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