vscode 如何debug(二)

在 Python 项目中配置 VS Code 进行远程调试是一个常见的需求。以下是详细的步骤,确保你可以顺利配置并进行调试:

1. 安装 DebugPy

首先,通过 pip 安装 debugpy:

bash 复制代码
pip install debugpy -U

2. 安装 VS Code 插件

确保你已经在 VS Code 中安装了 Python 插件。你可以在 VS Code 的扩展市场中搜索 Python 并安装。

3. 配置 Python 代码

在你的 Python 脚本的最前面加入以下代码,以便在运行时能够启动 debugpy:

python 复制代码
import debugpy
try:
    # 9501 是默认的附加端口。除非指定主机和端口,否则主机默认为 127.0.0.1
    debugpy.listen(("localhost", 9501))
    print("Waiting for debugger attach")
    debugpy.wait_for_client()
except Exception as e:
    pass

4. 配置 VS Code

在你的 VS Code 项目中,找到 .vscode 文件夹,并在其中的 launch.json 文件中添加以下配置:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "sh_file_debug",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 9501
            }
        }
    ]
}

5. 启动脚本

假设你使用 sh xxxx.sh 启动你的脚本,请确保在你的 shell 脚本或直接在 Python 代码中包含上述调试代码。

示例

假设你的 shell 脚本 run_script.sh 内容如下:

bash 复制代码
#!/bin/bash
python your_script.py

确保你的 your_script.py 包含了上述调试代码部分。

6. 调试步骤

  1. 在 VS Code 中打开你的项目。
  2. 确保 launch.json 配置正确。
  3. 启动你的 shell 脚本,例如 sh run_script.sh
  4. 在 VS Code 中按 F5 或点击调试按钮,选择 sh_file_debug 配置。
  5. 此时,VS Code 会尝试附加到正在运行的 Python 脚本,你应该会看到 Waiting for debugger attach 信息。VS Code 连接后,你可以设置断点并进行调试。

注意事项

  • 确保你的防火墙没有阻止所使用的端口(9501)。
  • 如果在远程服务器上进行调试,确保服务器的网络配置允许你的本地机器进行连接。
  • 端口号需要保持一致,确保 debugpy.listenlaunch.json 中配置的端口号一致。

通过以上步骤,你应该能够成功在 VS Code 中调试你的 Python 脚本。如果有任何问题,检查端口号和网络连接是最常见的排查步骤。

参考大佬
https://github.com/yuanzhoulvpi2017/vscode_debug_transformers

b站
https://www.bilibili.com/video/BV1wt421V718/?spm_id_from=333.337.search-card.all.click&vd_source=56259c6f4341f35bc11096ddb89e0588

相关推荐
coding消烦员6 小时前
新版 vscode 去除快捷键 Ctrl+I 显示 Copilot 的 AI 对话框
人工智能·vscode·copilot
落落鱼20137 小时前
Dompdf库html生成pdf时editor编辑器中文本长度被截断不会自动换行问题处理
pdf·编辑器·php·html生成pdf
农场主John10 小时前
vscode断点使用
ide·vscode·编辑器
Caesar Zou10 小时前
解决 Codex 在 WSL/SSH/VSCODE 登录时报 “Token exchange failed: 403 Forbidden” 问题
ide·vscode·编辑器
张人玉13 小时前
Visual Studio 2022打包生成exe安装程序
ide·visual studio·打包·installer
Dobby_0515 小时前
【Go】C++ 转 Go 第(四)天:结构体、接口、反射、标签 | 面向对象编程
vscode·golang·1024程序员节
学编程的小程18 小时前
5分钟搭建云IDE!CodeServer+cpolar打造跨设备开发工作站
ide
寺中人1 天前
Resource Hacker:强大的软件资源编辑器
编辑器·软件·resource hacker·汉化版·资源编辑器
_Johnny_1 天前
PyCharm 快速运行 django project
ide·pycharm·django