【发布时间】:2014-12-05 00:24:48
【问题描述】:
每当我需要在我的代码中设置断点时,我都会使用ipdb.set_trace()。现在,我正在尝试在使用multiprocessing 创建的进程中使用它,虽然代码确实停止了,但我无法输入任何内容来继续调试。有什么方法可以正确引导我的stdin?
理想情况下,我想想象每次分叉进程停止调试时都会打开一个新控制台,但我认为这是不可能的。
【问题讨论】:
-
如果您验证@yoav-glazner 给出的答案,那就太好了。用 dummy 更改 multiprocessing 后,您可以使用键盘了吗?。
-
@jgomo3 我已经确认它确实有效,但我(个人)觉得它不能回答我的问题
-
我想是因为每次要调试时都必须更改代码。有人可能会争辩说你已经用 pdb.set_trace() 做到了,但我知道你认为应该有另一种方法来实现同样的目标,而无需更改代码。我想知道是否有办法告诉 pdb 使用 dummy 而不是 multiprocessing 进行多处理导入?一种用于调试的猴子补丁/模拟。
标签: python multiprocessing ipython pdb ipdb