我在调试多进程应用程序时遇到了问题(特别是在python的多进程模块中使用进程池)。我有一个明显的死锁,我不知道是什么原因造成的。堆栈跟踪不足以描述问题,因为它只显示多处理模块中的代码。
有没有什么python工具或者其他通用的技术可以用来调试死锁?
发布于 2009-08-30 03:58:08
是啊,调试死锁很有趣。您可以将日志记录级别设置得更高--有关该级别的描述,请参阅the Python documentation,但速度非常快:
import multiprocessing, logging
logger = multiprocessing.log_to_stderr()
logger.setLevel(multiprocessing.SUBDEBUG)此外,在代码中添加处理资源或其他可能发生争用的内容的日志记录。最后,蒙混过关:在导入过程中派生子进程可能会导致问题。
发布于 2009-08-30 09:46:54
(免费的) Little Book of Semaphores是一个非常有趣的读物!
https://stackoverflow.com/questions/1352980
复制相似问题