如何调试无声崩溃?多处理python

时间:2016-07-25 15:58:26

标签: python debugging crash multiprocessing daemon

我有一个使用多处理库生成一堆工作者守护进程的程序。

有时这些守护进程会偶尔摔倒并死亡。这不是由python级别的异常引起的。崩溃似乎完全沉默......

有人可以提供有关我如何调试此问题的提示吗?

1 个答案:

答案 0 :(得分:0)

faulthandler库可能有助于调试此类行为。在每个进程run方法中运行此代码,以将回溯保存到单独的文件中:

f = open('fault_%s.log' % multiprocessing.current_process().name, 'w')
faulthandler.enable(file=f, all_threads=True)