【问题标题】:Visual Studio Code python debugging timeoutVisual Studio Code python 调试超时
【发布时间】:2019-06-20 03:41:29
【问题描述】:

我正在遵循 Microsoft 的指南 Getting Started with Python in VS Code,但只能在调试模式下运行一次 -- 以下运行总是会遇到超时问题。

这是hello.py

msg = "Hello World"
print(msg)

这里是launch.json,基本上只加了"stopOnEntry": true所以调试的时候会停在第一行代码:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "stopOnEntry": true
        }
    ]
}

所以我的第一轮调试成功了,Visual Studio Code里面的终端显示:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Playground\vscode\py\ms>c:/Playground/vscode/py/ms/env/Scripts/activate.bat
(env) C:\Playground\vscode\py\ms>cd c:\Playground\vscode\py\ms && cmd /C "set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && c:\Playground\vscode\py\ms\env\Scripts\python.exe c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\ptvsd_launcher.py --default --client --host localhost --port 58792 c:\Playground\vscode\py\ms\hello.py "
Hello World

但是,如果我再次单击debug 按钮,它就会卡住,并显示错误对话框:

[Window Title]
Visual Studio Code

[Content]
timeout

[Open launch.json] [Cancel]

,vscode里面的Terminal显示:

(env) C:\Playground\vscode\py\ms>cd c:\Playground\vscode\py\ms && cmd /C "set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && c:\Playground\vscode\py\ms\env\Scripts\python.exe c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\ptvsd_launcher.py --default --client --host localhost --port 58798 c:\Playground\vscode\py\ms\hello.py "
E00001.107: Exception escaped from start_client

            Traceback (most recent call last):
              File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\log.py", line 110, in g
                return f(*args, **kwargs)
              File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\pydevd_hooks.py", line 74, in start_client
                sock, start_session = daemon.start_client((host, port))
              File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\daemon.py", line 217, in start_client
                connect(client, addr)
              File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\socket.py", line 197, in connect
                sock.connect(addr)
            ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it


Traceback (most recent call last):
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\__main__.py", line 434, in main
    run()
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\__main__.py", line 296, in run_file
    setup_connection()
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\__main__.py", line 287, in setup_connection
    daemon = ptvsd._remote.attach(addr)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\_remote.py", line 91, in attach
    patch_multiprocessing=ptvsd.options.multiprocess)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\_vendored\pydevd\pydevd.py", line 2017, in settrace
    wait_for_ready_to_run,
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\_vendored\pydevd\pydevd.py", line 2068, in _locked_settrace
    debugger.connect(host, port)  # Note: connect can raise error.
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\_vendored\pydevd\pydevd.py", line 914, in connect
    s = start_client(host, port)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\pydevd_hooks.py", line 132, in <lambda>
    _start_client = (lambda h, p: start_client(daemon, h, p))
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\log.py", line 110, in g
    return f(*args, **kwargs)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\pydevd_hooks.py", line 74, in start_client
    sock, start_session = daemon.start_client((host, port))
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\daemon.py", line 217, in start_client
    connect(client, addr)
  File "c:\Users\drlren\.vscode\extensions\ms-python.python-2019.5.18875\pythonFiles\lib\python\ptvsd\socket.py", line 197, in connect
    sock.connect(addr)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

发生了什么?我该如何解决?

【问题讨论】:

    标签: python debugging visual-studio-code


    【解决方案1】:

    我在使用 Microsoft 新安装的 Python 扩展时遇到了同样的超时问题。我所做的是安装插件,然后立即尝试调试以 @987654321 结尾的文件@。

    为了解决,我只是重新启动了 VS Code。

    【讨论】:

    • 请定义使用的python插件,因为有几个选项可用。
    【解决方案2】:

    我解决了这个问题,将终端从“bash”更改为“命令提示符”(cmd)。

    【讨论】:

    • 那该怎么做?
    • 当您打开终端控制台时,您会在右上角看到一个下拉列表,其中包含您可用的不同终端选项。
    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2019-02-21
    • 2018-11-27
    • 1970-01-01
    相关资源
    最近更新 更多