跳转至

多线程下调试 Python 代码

当启用 n_jobs 超过 1 时,直接调试 Python 代码可能会报错 "Couldn't find a debug adapter descriptor for debug type 'Python Kernel Debug Adapter' (extension might have failed to activate)"

image-20240325190005418

本文记录了一个解决方案,可以在 n_jobs 超过 1 的多线程环境下调试 Python 代码。

参考 https://github.com/microsoft/debugpy/issues/1168#issuecomment-1377998813 的回答,首先运行:

Python
sys.modules["debugpy"].__file__

找到 debugpy 的路径。

debugpy/server/api.py 中,在代码的开头位置,就有:

Python
_config = {
    "qt": "none",
    "subProcess": True,
    "python": sys.executable,
}

我们需要修改为:

Python
_config = {
    "qt": "none",
    "subProcess": False,
    "python": sys.executable,
}

image-20240325190548326

评论