VSCode 调试器附加到本地进程

VSCode debugger attach to local process

PyCharm 的一个重要特性是它允许其调试器在本地(和 IDE 之外)附加到 python 进程 运行。

当我试图搬到 VSCode 在 Python 工作时,我正在努力配置 launch.json 来模拟 PyCharm 附加到本地进程功能。

{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "localRoot": "${workspaceFolder}",
    "remoteRoot": "${workspaceFolder}",
    "port": 8001,
    "secret": "my_secret",
    "host": "localhost"
},

当我 select Python: attach 调试器选项时默认创建此配置,但我确信这是用于远程调试(带端口和所有),大多数 Google 搜索结果只是谈论 Python 和 VSCode 的远程调试。

有人成功地在本地将一两个本地调试器附加到多个 python 进程 运行 吗?

当前不支持本地附加,但正在处理中。

似乎 VSCode 可能在发布上一个答案后添加了此功能。

在"Basic Debugging"下的docs中,他们解释了过程:

The simplest way to begin debugging a Python file is to use the Run view and click the Run and Debug button. When no configuration has been previously set, you will be presented with a list of debugging options. Select the appropriate option to quickly begin debugging your code.

Two common options are to use the Python File configuration to run the currently open Python file or to use the Attach using Process ID configuration to attach the debugger to a process that is already running.

所以在你的情况下,你会 select 左侧的“运行”选项卡,然后是“运行 和调试 ”。系统会提示您 "Select a debug configuration"。由于您正在尝试附加到 existing/already 运行 脚本,因此 select“使用进程 ID 附加”。然后 select 您要附加的 Python 线程。

我刚刚在我的机器上试过这个(VS Code 版本 1.45.0 和 Python 扩展版本 2020.4.76186)并且能够附加到 运行 进程。