首页 > 解决方案 > vscode python调试器不工作:连接被拒绝

问题描述

每当我尝试调试 python 代码时,vscode 都会出错并通知我调试器的连接被拒绝。我在底部附加了完整的堆栈跟踪

我在 CentOS8 Linux 上。

到目前为止,我已经尝试过:

并不是真的想知道这里可能会受到什么干扰。

我正在调试的文件print('test')保存为 test.py :-)

/usr/bin/python /home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 43259 /scratch/user/tmp/test.py 
E00000.119: Exception escaped from start_client

            Traceback (most recent call last):
              File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/log.py", line 110, in g
                return f(*args, **kwargs)
              File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 74, in start_client
                sock, start_session = daemon.start_client((host, port))
              File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/daemon.py", line 217, in start_client
                connect(client, addr)
              File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/socket.py", line 197, in connect
                sock.connect(addr)
            ConnectionRefusedError: [Errno 111] Connection refused


Traceback (most recent call last):
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 432, in main
    run()
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 300, in run_file
    setup_connection()
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 291, in setup_connection
    daemon = ptvsd._remote.attach(addr)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_remote.py", line 95, in attach
    patch_multiprocessing=ptvsd.options.multiprocess)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 2179, in settrace
    wait_for_ready_to_run,
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 2230, in _locked_settrace
    debugger.connect(host, port)  # Note: connect can raise error.
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 1060, in connect
    s = start_client(host, port)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 136, in _start_client
    return start_client(daemon, h, p)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/log.py", line 110, in g
    return f(*args, **kwargs)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 74, in start_client
    sock, start_session = daemon.start_client((host, port))
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/daemon.py", line 217, in start_client
    connect(client, addr)
  File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/socket.py", line 197, in connect
    sock.connect(addr)
ConnectionRefusedError: [Errno 111] Connection refused
dmaarten

标签: linuxvisual-studio-codecentos

解决方案


我也有同样的问题。经过长时间的研究,我找到了我的问题的原因:

  1. 我的 /etc/hosts 文件中的 localhost 不是 127.0.0.1
  2. 因此,DebugAdapter 没有监听地址 127.0.0.1
  3. 因此,“ptvsd --client --host localhost”无法连接到DebugAdapter

解决方案:

在 lanuch.json 中将主机定义为 127.0.0.1

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "host": "127.0.0.1"
        }
    ]
}

推荐阅读