Запуск фляги в vscode каждый раз вызывает точку останова httpserver.serve_forever (self)

Я создал приложение Flask и начал сборку своего проекта, но когда я использую точку останова в любом файле для отладки, vscode автоматически останавливается на этой строке HTTPServer.serve_forever(self) в модуле по умолчанию flask.

Вещь раздражает, поскольку она перескакивает на эту строку и игнорирует мою исходную точку останова, что затрудняет отладку.

Любая идея?

launch.json

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

serve.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()

app.py

from flask import app
app = Flask(__name__)

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

app.run()

Есть сообщение об ошибке?

Charming Robot 24.09.2018 11:37

@CharmingRobot Нет, сообщения об ошибке нет. Но я обнаружил, что это может быть нормальной процедурой, поскольку основной поток будет работать все время, и поэтому остановитесь на HTTPServer.serve_forever, поэтому, когда я нажимаю другой поток, я обычно вижу точку останова, установленную в моем редакторе. Странно то, что раньше я бы не остановился на основном потоке, поэтому мне нужно сделать еще один шаг, чтобы переключить поток, который меня раздражает ...

Brady Huang 24.09.2018 15:12
5
2
317
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта проблема отслеживается здесь: https://github.com/Microsoft/vscode-python/issues/2498

Похоже, проблема исправлена ​​в ветке разработки плагина Python, и на данный момент можно решить эту проблему.

you can continue debugging by selecting your thread in the "Call Stack" window. source

Другие вопросы по теме