当前位置: 首页 > news >正文

【AIGC】基础篇:VS Code 配置 Python 命令行参数调试debug超详细教程

文章目录

    • 前言
    • 一、安装必要的扩展
    • 二、安装 debugpy
    • 三、创建 launch.json 配置文件
    • 四、配置调试环境
    • 五、开始调试
    • 六、命令行调试
    • 七、远程调试
    • 八、调试技巧
    • 九、常见问题及解决方法

前言

在 Python 开发过程中,调试是必不可少的环节。VS Code 提供了强大的调试功能,可以帮助开发者轻松地进行代码调试。今天,就让我们一起学习如何在 VS Code 中配置 Python 的命令行调试,即使是小白也能轻松上手。

一、安装必要的扩展

在开始之前,确保你已经安装了 VS Code 的 Python 扩展和 Python 调试器扩展。这两个扩展是进行 Python 调试的基础。

二、安装 debugpy

在命令行中运行以下命令来安装 debugpy:

python -m pip install --upgrade debugpy

这个命令会将 debugpy 安装到你的 Python 环境中,它是 VS Code 进行 Python 调试的核心工具。

三、创建 launch.json 配置文件

launch.json 文件是 VS Code 调试的核心配置文件,它定义了调试会话的行为。按照以下步骤创建 launch.json 文件:

  1. 打开 VS Code,选择侧边栏的 “运行”视图
  2. 如果你还没有配置文件,会看到一个 “运行和调试” 按钮和一个创建配置文件的链接。
  3. 点击 “创建 launch.json 文件” 链接,或者使用 “运行” > “打开配置” 菜单命令。
  4. 选择 “Python 调试器”,然后在弹出的菜单中选择 “Python 文件”

VS Code 会自动为你生成一个包含基本配置的 launch.json 文件,内容大致如下:

{"version": "0.2.0","configurations": [{"name": "Python: Current File","type": "python","request": "launch","program": "${file}","console": "integratedTerminal"}]
}

这个配置表示调试当前打开的 Python 文件,并在 VS Code 的集成终端中运行。

四、配置调试环境

在 launch.json 文件中,你可以根据需要进行一些自定义配置。以下是一些常用的配置选项:

  • name:调试配置的名称,显示在 VS Code 的调试菜单中。
  • type:调试器类型,对于 Python 调试,这里应该是 pythondebugpy
  • request:调试请求类型,launch 表示启动调试,attach 表示附加到已运行的进程。
  • program:要调试的 Python 程序的入口文件路径。
  • console:指定调试时使用的终端类型,integratedTerminal 表示 VS Code 的集成终端。

launch.json 文件中,你可以通过 args 属性添加命令行参数。以下是一个示例配置:

{"version": "0.2.0","configurations": [{"name": "Python: Debug with Args","type": "python","request": "launch","program": "${workspaceFolder}/versions.py","args": ["excel","D:\\work\\表250421.xlsx","--column","0","--sheet","Sheet1"],"console": "integratedTerminal"}]
}

在这个配置中,args 属性用于传递命令行参数

 `python versions.py excel "D:\work\表250421.xlsx" --column 0 --sheet Sheet1`

你可以根据需要修改这些参数。

五、开始调试

完成配置后,就可以开始调试了。点击 VS Code 顶部菜单的 “运行” > “开始调试”,或者直接按下 F5 键。VS Code 会根据 launch.json 文件中的配置启动调试器,并在集成终端中运行你的 Python 程序。
在这里插入图片描述

六、命令行调试

如果你更喜欢在命令行中启动调试,也可以使用以下命令:

python -m debugpy --listen 5678 ./myscript.py

这个命令会启动一个监听端口 5678 的调试服务器。然后,你可以在 VS Code 中使用以下配置连接到调试服务器:

{"name": "Python: Attach","type": "debugpy","request": "attach","connect": {"host": "localhost","port": 5678}
}

七、远程调试

如果你需要调试运行在远程服务器上的 Python 程序,可以通过 SSH 隧道实现远程调试。以下是一个简单的示例:

  1. 在远程服务器上,运行以下命令启动调试服务器:
    python -m debugpy --listen 0.0.0.0:5678 ./myscript.py
    
  2. 在本地机器上,创建一个 SSH 隧道:
    ssh -2 -L 5678:localhost:5678 user@remote-server
    
  3. 在 VS Code 中,使用以下配置连接到远程调试服务器:
    {"name": "Python: Remote Attach","type": "debugpy","request": "attach","connect": {"host": "localhost","port": 5678}
    }
    

八、调试技巧

  • 设置断点:在代码中点击行号旁边的空白区域,可以设置断点。当程序运行到断点时,会自动暂停,你可以查看变量的值、修改变量、单步执行等。
  • 查看变量:在调试过程中,你可以将鼠标悬停在变量上,或者在调试控制台中输入变量名,查看变量的值。
  • 单步执行:使用调试工具栏中的按钮,可以单步执行代码,逐行查看程序的执行过程。

九、常见问题及解决方法

  • 调试器无法连接:确保调试服务器正在运行,并且端口号正确。如果使用 SSH 隧道,检查隧道是否正确建立。
  • 程序无法启动:检查 launch.json 文件中的配置是否正确,特别是 programconsole 的设置。
  • 断点未命中:确保代码与运行的程序一致,并且调试器已正确连接。

相关文章:

  • MySQL日期函数的详细教程(包含常用函数及其示例)
  • JavaWeb:JavaScript
  • 苹果新规生效:即日起不再接受iOS 17 SDK编译的应用提交
  • [密码学实战]商用密码产品密钥体系架构:从服务器密码机到动态口令系统
  • 源码分析之Leaflet中Icon类
  • 【EDA】EDA中聚类(Clustering)和划分(Partitioning)
  • 《算法笔记》4.2小节——算法初步->哈希
  • 观测云数据在Grafana展示的最佳实践
  • Milvus(7):Schema、主字段和自动识别
  • Apache Spark 源码解析
  • Go 语言 TCP 端口扫描器实现与 Goroutine 池原理
  • Modbus主从通信功能码与报文格式
  • 如何在SpringBoot中通过@Value注入Map和List并使用YAML配置?
  • 电子学会—青少年软件编程 python一级等级考试真题—2025年03月
  • 20242817-李臻-课上测试:信号处理
  • uniapp自定义封装tabbar
  • TDengine 数据缓存技术
  • iOS/Flutter混合开发之PlatformView配置与使用
  • 记录一次无界微前端的简单使用
  • Ubuntu 上手动安装 Go 环境并解决“可执行文件格式错误”
  • 航行警告!黄海南部进行实弹射击,禁止驶入
  • “归雁经济”能带来什么?川大商学院调研团队深入乡村与返乡青年人才交流
  • 因商标近似李小龙形象被裁定无效,真功夫起诉国家知产局,法院判了
  • 高糖高脂食物可能让你 “迷路”
  • 影子调查丨掉落的喷淋头:太原一7天酒店加盟店消防设施造假迷局
  • 唐仁健违规收受礼品、礼金被点名!十起违反中央八项规定精神典型问题被通报