Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Visual Studio代码在将远程调试附加到docker容器中的flask应用程序时卡住_Python_Docker_Flask_Visual Studio Code_Remote Debugging - Fatal编程技术网

Python Visual Studio代码在将远程调试附加到docker容器中的flask应用程序时卡住

Python Visual Studio代码在将远程调试附加到docker容器中的flask应用程序时卡住,python,docker,flask,visual-studio-code,remote-debugging,Python,Docker,Flask,Visual Studio Code,Remote Debugging,我目前正在从atom转换到VisualStudio代码——部分原因是调试功能 不幸的是,我无法在以下设置中运行远程调试: web/app.py from flask import Flask app = Flask(__name__) import ptvsd try: ptvsd.enable_attach(secret=None, address = ('0.0.0.0', 3000)) ptvsd.wait_for_attach() ptvsd.break_in

我目前正在从atom转换到VisualStudio代码——部分原因是调试功能

不幸的是,我无法在以下设置中运行远程调试:

web/app.py

from flask import Flask
app = Flask(__name__)

import ptvsd

try:
    ptvsd.enable_attach(secret=None, address = ('0.0.0.0', 3000))
    ptvsd.wait_for_attach()
    ptvsd.break_into_debugger()
except:
    pass


@app.route('/')
def hello_world():
    return 'Flask Dockerized'

if __name__ == '__main__':
    app.run(debug=False,host='0.0.0.0', port=5000)
docker compose.yml

web:
  build: ./web
  ports:
   - "5000:5000"
   - "3000:3000"
  volumes:
   - .:/code
launch.json

    {
        "name": "Attach (Remote Debug)",
        "type": "python",
        "request": "attach",
        "localRoot": "${workspaceRoot}",
        "remoteRoot": "${workspaceRoot}",
        "port": 3000,
        "secret": "",
        "host": "localhost"
    }
问题:当我运行docker compose时,我得到:

starting container flaskdocker ...
starting container flaskdocker ... done
attaching to flaskdocker
它只是卡在那里,我无法访问端口5000上的flask应用程序(在将调试连接到它之前工作得很好)

为什么?:/请帮忙


我在使用Visual Studio代码1.15.1的macOS上。

报告了一些有关使用ptvsd>3.0.0从Visual Studio代码进行远程调试的问题

最常提到的问题是,VSC在尝试连接到远程调试器时“挂起”

现在,请使用ptvsd 3.0.0:

pip install ptvsd==3.0.0

报告了有关使用ptvsd>3.0.0从Visual Studio代码进行远程调试的一些问题

最常提到的问题是,VSC在尝试连接到远程调试器时“挂起”

现在,请使用ptvsd 3.0.0:

pip install ptvsd==3.0.0

询问教程等非现场资源是离题的,因此我将其从您的问题中删除。请花一些时间来学习如何/问什么。如果你检查Visual Studio代码的控制台,你会看到巨大的JS错误。这就是事情不起作用的原因。在Ubuntu机器上,我检查了与telnet和netcat的端口通信。在wait_for_attach()时,ptvsd很好地发送一个json字符串并侦听。只是VS代码保持沉默。在Windows PC上使用Visual Studio时,它在Linux计算机上连接到进程时没有问题。看起来,VS代码的ptvsd支持刚刚被打破。要求非现场资源(如教程)是离题的,因此我将其从您的问题中删除。请花一些时间来学习如何/问什么。如果你检查Visual Studio代码的控制台,你会看到巨大的JS错误。这就是事情不起作用的原因。在Ubuntu机器上,我检查了与telnet和netcat的端口通信。在wait_for_attach()时,ptvsd很好地发送一个json字符串并侦听。只是VS代码保持沉默。在Windows PC上使用Visual Studio时,它在Linux计算机上连接到进程时没有问题。看起来,VS代码的ptvsd支持刚刚中断。