Sea*_*123 18 python ipython multiprocessing pdb ipdb
我用ipdb.set_trace(),每当我需要设置我的代码一个破发点.现在,我正在尝试在我创建的过程中使用它multiprocessing,而代码确实停止,我无法输入任何内容来继续调试.有没有办法让我的stdin指导正常?
理想情况下,我想设想每次分叉进程停止调试时都会打开一个新的控制台,但我不认为这是可能的.
Yoa*_*ner 10
有时用于调试您可以更改代码以使用multiprocessing.dummy.这样,不会执行fork,它将与线程一起使用并且更容易调试.
稍后(在错误被压扁之后......),您可以切换回多处理
multiprocessing.dummy - 应该提供与多处理相同的API,因此它很容易改变...
根据如何将调试器附加到 python 子进程?,http://winpdb.org支持multiprocessing调试。
如果您希望做更多工作以获得更大的灵活性, https://gist.github.com/csabahenk/6497709上有一些有趣的想法(太长,无法包含在此处)。