Python Visual Studio代码在将远程调试附加到docker容器中的flask应用程序时卡住
我目前正在从atom转换到VisualStudio代码——部分原因是调试功能 不幸的是,我无法在以下设置中运行远程调试: web/app.pyPython 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
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支持刚刚中断。