gpt4 book ai didi

python - 如何使用 VSCode 调试器调试 Gunicorn 工作进程?

转载 作者:太空宇宙 更新时间:2023-11-04 00:45:30 25 4
gpt4 key购买 nike

我在 Ubuntu 14.04 上有一个用 Python 3.4 编写的 GUnicorn/Falcon Web 服务。我想使用 VSCode 调试器来调试此服务。我目前使用命令开始该过程

/usr/local/bin/gunicorn --config /webapps/connects/routerservice_config.py routerservice:api

它使用配置文件 routerservice_config.py 启动 routerservice.py。为了简单起见,我在配置中将工作人员设置为 1。

我已经安装了 VSCode 的 Python 扩展,所以我有 Python 调试工具。那么我如何附加到 GUnicorn 工作进程或让 VSCode 运行启动命令并自动附加。

谢谢,格雷格

最佳答案

launch.json 设置对我在 VScode 1.43 上有效:

{
"name": "Python: Webapp",
"type": "python",
"request": "launch",
"program": "/home/me/.virtualenvs/my-venv/bin/gunicorn",
"gevent": true,
"args": ["main:app", "--bind=127.0.0.1:8080", "--reload", "--worker-class", "eventlet", "-w", "1", "--timeout=7200"],
"postDebugTask": "killdebugger"
}

使用此设置,我必须创建一个任务来在我停止调试器后终止 python 进程。这是因为按下停止按钮只会关闭调试器本身,而 Python 进程会继续运行。如果您遇到同样的情况,请按 F1 创建一个任务,搜索任务并单击“配置任务”。然后将以下命令添加到您的 tasks.json 中:

{
"label": "killdebugger",
"type": "shell",
"command": "lsof -t -i tcp:8080 | xargs kill -9"
}

如果您没有遇到此问题,请从 launch.json 中删除 "postDebugTask": "killdebugger" 设置

关于python - 如何使用 VSCode 调试器调试 Gunicorn 工作进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com