VSCode调试器连接本地进程

20

PyCharm的一个伟大特性是它允许其调试器附加到本地运行的Python进程(以及IDE之外的进程)。

由于我正在尝试使用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时,将默认创建此配置,但我确信这是用于远程调试(具有端口等),而大多数谷歌搜索结果仅涉及使用VSCode进行Python的远程调试。
有人成功地将本地调试器附加到运行在本地的多个Python进程中吗?

嗨,你找到如何让它工作的方法了吗? - gab
1
很遗憾,我没有。最终我只是创建了一个运行配置并在PyCharm中运行它。 - Jun Park
2个回答

12
自上次回答以来,似乎VSCode已经添加了此功能。
在“基本调试”下的文档中,他们解释了这个过程:
最简单的开始调试Python文件的方法是使用“运行(Run)”视图并单击“运行和调试(Run and Debug)”按钮。当之前没有设置任何配置时,会出现一个调试选项列表。选择适当的选项快速开始调试您的代码。
两个常见选项是使用“Python文件(Python File)”配置来运行当前打开的Python文件或使用“依据进程ID附加(Attach using Process ID)”配置来将调试器附加到已经运行的进程上。
因此,在您的情况下,您需要选择左边的“运行(Run)”选项卡,然后选择“运行和调试(Run and Debug)”。您将被提示“选择调试配置(Debug Configuration)”。由于您正在尝试连接到一个现有/已经运行的脚本,请选择“依据进程ID附加(Attach using Process ID)”选项。然后选择您要附加到的Python线程。
我刚在我的机器上尝试了这个(VS Code版本1.45.0和Python Extension版本2020.4.76186),并成功附加到了一个正在运行的进程。

这个!非常好用! - Steve

10

本地附加目前不被支持,但正在进行开发。


7
Github问题追踪链接:https://github.com/Microsoft/vscode-python/issues/1078。 - Tadaboody
截至2020年1月,启用了一种实验模式来实现此操作:https://github.com/Microsoft/vscode-python/issues/1078#issuecomment-575271797 - Danny Bullis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接