我有一个使用多处理库生成一堆工作者守护进程的程序。
有时这些守护进程会偶尔摔倒并死亡。这不是由python级别的异常引起的。崩溃似乎完全沉默......
有人可以提供有关我如何调试此问题的提示吗?
答案 0 :(得分:0)
faulthandler库可能有助于调试此类行为。在每个进程run
方法中运行此代码,以将回溯保存到单独的文件中:
f = open('fault_%s.log' % multiprocessing.current_process().name, 'w')
faulthandler.enable(file=f, all_threads=True)