【发布时间】:2016-11-29 01:44:53
【问题描述】:
我有一个程序,它使用多处理库生成一堆工作守护进程。
有时这些守护进程会偶尔摔倒而死。这不是由 python 级异常引起的。崩溃似乎完全无声……
任何人都可以提供有关如何调试此问题的提示吗?
【问题讨论】:
-
multiprocessing.log_to_stderr()
标签: python debugging crash multiprocessing daemon
我有一个程序,它使用多处理库生成一堆工作守护进程。
有时这些守护进程会偶尔摔倒而死。这不是由 python 级异常引起的。崩溃似乎完全无声……
任何人都可以提供有关如何调试此问题的提示吗?
【问题讨论】:
multiprocessing.log_to_stderr()
标签: python debugging crash multiprocessing daemon
faulthandler 库可能有助于调试此类行为。在每个进程 run 方法中运行此代码以将回溯保存到单独的文件中:
f = open('fault_%s.log' % multiprocessing.current_process().name, 'w')
faulthandler.enable(file=f, all_threads=True)
【讨论】: