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

相关推荐
安装虚拟机的老师傅16 分钟前
【2025最新】Windows系统装VSCode搭建C/C++开发环境(附带所有安装包)
c语言·windows·vscode·其他
threelab2 小时前
03.three官方示例+编辑器+AI快速学习webgl_animation_multiple
人工智能·学习·编辑器
skywalk81632 小时前
开发与AI融合的Windsurf编辑器
人工智能·编辑器
threelab2 小时前
18.three官方示例+编辑器+AI快速学习webgl_buffergeometry_points_interleaved
学习·编辑器·webgl
电子云与长程纠缠2 小时前
UE5中制作动态数字Decal
学习·ue5·编辑器·贴图
潮流coder3 小时前
IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
java·ide·intellij-idea
刘延林.4 小时前
树莓5安装 PyCharm 进行python脚本开发
ide·python·pycharm
妄想成为master6 小时前
拒绝flash插件打劫!如何在vscode上玩4399小游戏
vscode·扩展·4399·4399小游戏
battlestar6 小时前
Visual studio 打包方法
ide·visual studio
翻滚吧键盘7 小时前
idea中ctrl+/注释,总是出现在最前行
java·ide·intellij-idea