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

相关推荐
yt948327 小时前
如何在IDE中通过Spark操作Hive
ide·hive·spark
来鸟 鸣间10 小时前
vscode 连接远程服务器
服务器·ide·vscode
zhlei_1234510 小时前
封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
ide·vscode·pyqt
m0_7493175210 小时前
vscode里如何用git
ide·git·vscode
___波子 Pro Max.13 小时前
Vim查看文件十六进制方法
编辑器·vim
Java斌16 小时前
70年使用权的IntelliJ IDEA Ultimate安装教程
java·ide·intellij-idea
weixin_4664851117 小时前
PyCharm中运行.py脚本程序
ide·python·pycharm
程序猿小D17 小时前
第14节 Node.js 全局对象
linux·前端·npm·node.js·编辑器·vim
aningxiaoxixi17 小时前
Android Studio 之基础代码解析
android·ide·android studio
waterHBO18 小时前
一个小小的 flask app, 几个小工具,拼凑一下
javascript·vscode·python·flask·web app·agent mode·vibe coding