如何在分叉进程中使用ipdb.set_trace

Sea*_*123 18 python ipython multiprocessing pdb ipdb

我用ipdb.set_trace(),每当我需要设置我的代码一个破发点.现在,我正在尝试在我创建的过程中使用它multiprocessing,而代码确实停止,我无法输入任何内容来继续调试.有没有办法让我的stdin指导正常?

理想情况下,我想设想每次分叉进程停止调试时都会打开一个新的控制台,但我不认为这是可能的.

Yoa*_*ner 10

有时用于调试您可以更改代码以使用multiprocessing.dummy.这样,不会执行fork,它将与线程一起使用并且更容易调试.

稍后(在错误被压扁之后......),您可以切换回多处理

multiprocessing.dummy - 应该提供与多处理相同的API,因此它很容易改变...

  • 确实可以,但是我不想切换到线程。 (2认同)