V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sevenQu
V2EX  ›  Python

vscode 调试 flask,有时可以 vscode 下面显示运行成功,进入断点;有时显示运行成功,但浏览器访问,没有该路径,是 vscode 的 bug 吗?有其他人遇到过吗?

  •  
  •   sevenQu · 2018-03-20 21:40:28 +08:00 · 3697 次点击
    这是一个创建于 2440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 我发现断点在第一次开浏览器的时候会成功,之后再也无法进入断点,求有经验的人指点

    • 配置应该没错,因为没有报错,有一点我很奇怪,我使用了 flask-script 插件,所以参数是 runserver 启动,但是下面配置的 args 是 run 才可以运行起来

           {
                "name": "Python: Flask (0.11.x or later)",
                "type": "python",
                "request": "launch",
                "stopOnEntry": false,
                "pythonPath": "${config:python.pythonPath}",
                "module": "flask",
                "cwd": "${workspaceFolder}",
                "env": {
                    "FLASK_APP": "${workspaceFolder}/manage.py"
                },
                "args": [
                    "run"
                ],
                "envFile": "${workspaceFolder}/.env",
                "debugOptions": [
                    "RedirectOutput"
                ]
            }
    

    ------------------------------------------分割线-------------------------------------------

    • pycharm debug 的时候,打了断点,使用浏览器访问该断点的时候不会中断,让我很尴尬,求解
    5 条回复    2018-09-17 10:42:24 +08:00
    frostming
        1
    frostming  
       2018-03-20 22:12:57 +08:00
    这个 debugger 配置相当于执行:python -m flask run
    如果你要用 manage.py runserver 启动,应该用 Python: Flask (0.10.x or earlier)
    然后把 program 和 args 改一下
    sevenQu
        2
    sevenQu  
    OP
       2018-03-20 23:14:33 +08:00
    @frostming 原来如此,那我打断点,然后访问该断点,为什么不会停呢?需要有什么注意的吗?
    caimaoy
        3
    caimaoy  
       2018-05-17 11:01:52 +08:00
    @sevenQu 你解决了吗?我也是打打断点不停
    sevenQu
        4
    sevenQu  
    OP
       2018-05-17 15:44:27 +08:00
    @caimaoy 不知道你目前用的 vsode 还是 pycharm,我目前是使用了 pycharm,调试挺方便的,我之后思考,为什么 vsocde 的 debug 不停止,我猜的,也是用 pycharm 后给我的启发,vscode 第一次启动可以 debug 调试成功,为什么第二次就不行,感觉是因为并没有把第一次的调试停止,又开了第二个调试进程,所以在下面的操作台看看,能不能把之前的关闭
    laoshufeifei
        5
    laoshufeifei  
       2018-09-17 10:42:24 +08:00
    2018-09-17 粗略的借地回复下:
    帖子本身很老了,flask 的一些配置已经和之前的不一样了,后面的人看到注意下日期。
    首先 flask 的配置中 --reload 和 VS 的调试(不是--no-debug) 是冲突的,必须去掉 reload 才能响应断点。
    然后 如果修改配置了,注意要把 VS 的终端关掉,然后再试。
    关键的地方就这两点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2872 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:17 · PVG 17:17 · LAX 01:17 · JFK 04:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.