如何将调试器附加到 python 子进程?

问题描述

我需要调试由 multiprocessing.Process() 生成的子进程.pdb 调试器似乎不知道分叉并且无法附加到已经运行的进程.

I need to debug a child process spawned by multiprocessing.Process(). The pdb degugger seems to be unaware of forking and unable to attach to already running processes.

是否有任何更智能的 python 调试器可以附加到子进程?

Are there any smarter python debuggers which can be attached to a subprocess?


解决方案

Winpdb 差不多就是这个定义更智能的 Python 调试器.它明确支持下叉,不确定它是否能很好地与配合使用multiprocessing.Process() 但值得一试.

Winpdb is pretty much the definition of a smarter Python debugger. It explicitly supports going down a fork, not sure it works nicely with multiprocessing.Process() but it's worth a try.

有关检查是否支持您的用例的候选列表,请参阅 Python 调试器列表 在 wiki 中.

For a list of candidates to check for support of your use case, see the list of Python Debuggers in the wiki.

相关文章