首页 > 解决方案 > 在 VSCode 中运行烧瓶每次都会导致 HTTPServer.serve_forever(self) 断点

问题描述

我已经创建了一个 Flask 应用程序并开始构建我的项目,但是当我在任何文件中使用断点进行调试时,vscode 将自动停止在 FlaskHTTPServer.serve_forever(self)默认模块中的这一行。

事情很烦人,因为它会跳转到这一行并忽略我原来的断点,让我很难调试。

任何想法?

启动.json

{
    "name": "Python: Custom Flask",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/venv/bin/activate",
    "module": "flask",
    "env": {
        "ENV": ".local"
    },
    "args": [
    "run",
    ]
}

服务.py

def serve_forever(self):
    self.shutdown_signal = False
    try:
        HTTPServer.serve_forever(self) # <- Always stop on this line
    except KeyboardInterrupt:
        pass
    finally:
        self.server_close()

应用程序.py

from flask import app
app = Flask(__name__)

@app.route('/')
def index():
    return "OK"

app.run()

标签: pythonflaskvisual-studio-codehttpservervscode-debugger

解决方案


此处正在跟踪此问题:https ://github.com/Microsoft/vscode-python/issues/2498

看起来问题已在 Python 插件的开发分支中得到解决,目前的解决方法是

您可以通过在“调用堆栈”窗口中选择您的线程来继续调试。 资源


推荐阅读