带有附加到进程的 visual studio 调试器的子进程导致 python 项目出现问题

问题描述 投票:0回答:0

我在使用 Visual Studio 2022 时遇到了一个非常烦人的问题。下面是如何复制它。

文件夹内容:

test-debugpy-issue
|   test-debugpy-issue.sln
|   
\---test-debugpy-issue
        cli.py
        test-debugpy-issue.pyproj
        test_debugpy_issue_simplified.py

cli.py
的内容:

print("hello world")

test_debugpy_issue_simplified
的内容:

import subprocess
import os
import json

print(os.getpid())
input()

configArgs = ["python", "cli.py"]

ret_code=0
while ret_code==0:
    ret_code = subprocess.call(configArgs, shell=False, universal_newlines=True)
    print(ret_code)

为了重现问题,请执行以下步骤:

  • 打开 Powershell 或 CMD 终端
  • 奔跑
    python .\test_debugpy_issue_simplified.py
  • 复制提供的PID
  • 在Visual Studio 2022下Debug > Attach to Process,粘贴PID,选择进程如下图:

  • 单击 Attach,然后在 Output 窗口中等待,直到进程成功附加。这显然需要多次尝试:

  • 返回您的 Powershell 和 CMD 终端并按 Enter
  • 应该出现以下错误:

0.47s - 导入 debugpy._vendored.force_pydevd 时出错(带有 sys.path 条目:'c:\program > files\microsoft visual studio�2\professiona

python visual-studio-2022 visual-studio-debugging debugpy
© www.soinside.com 2019 - 2024. All rights reserved.