16

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"
},

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

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

4

2 回答 2

9

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

于 2018-04-16T23:47:00.463 回答
9

自从发布最后一个答案以来,似乎 VSCode 可能已经添加了此功能。

在“基本调试”下的文档中,他们解释了该过程:

开始调试 Python 文件的最简单方法是使用运行视图并单击运行和调试按钮。如果之前没有设置任何配置,您将看到一个调试选项列表。选择适当的选项以快速开始调试您的代码。

两个常见的选项是使用 Python File 配置运行当前打开的 Python 文件,或者使用 Attach using Process ID 配置将调试器附加到已经运行的进程。

因此,在您的情况下,您将选择左侧的“运行”选项卡,然后选择“运行和调试”。系统将提示您“选择调试配置”。由于您正在尝试附加到现有/已经运行的脚本,请选择“使用进程 ID 附加”。然后选择要附加到的 Python 线程。

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

于 2020-05-10T21:43:53.287 回答