gpt4 book ai didi

python - 将 VSCode 调试器附加到 Python 中的子进程

转载 作者:行者123 更新时间:2023-12-02 02:52:39 26 4
gpt4 key购买 nike

我有一个有效执行以下操作的脚本:

top_script.py:

os.system("bash_script.sh")

bash_script.sh

python3 child_script.py

子脚本.py

# Actual work goes here

在 VSCode 中,我喜欢集成调试器,但是当我按照他们的建议[1] 从 IDE 启动时,我得到“ECONNREFUSED 127.0.0.1:5678”。

当我从 VSCode 的集成终端执行以下命令时,它运行时没有错误,但它不会在 child_script.py 中的断点处停止。

python3 -m debugpy --listen 5678 top_script.py

我如何才能首先执行顶级脚本(从 IDE 或命令行)并让我在 child_script.py 中附加的断点在 VSCode 中呈现?

[1] https://code.visualstudio.com/docs/python/debugging

最佳答案

这很简单。您可以将配置添加到您的 launch.json 文件,如下所示:

{
"name": "MySubProcess",
"type": "python",
"request": "attach",
"processId": "${command:pickProcess}
}

现在单独启动您的 Python 进程(通过提示符,或其他方式)。这将生成一个 python 子进程。您可以在 Windows 任务管理器中看到这一点(或者在 MacOS 事件监视器中,或者在 Linux 中以类似的方式)。

在 VSCode 中,然后单击 Debug,(在我们的示例中选择您的子进程配置:“MySubProcess”),然后选择刚刚启动的进程。然后,调试器将在您的子流程代码中的断点处停止。

关于python - 将 VSCode 调试器附加到 Python 中的子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61702186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com