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

【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 的设置。
  • 断点未命中:确保代码与运行的程序一致,并且调试器已正确连接。
http://www.xdnf.cn/news/1992.html

相关文章:

  • DeepSeek 赋能全流程数据治理:构建智能化数据价值链
  • vue3中的effectScope有什么作用,如何使用?如何自动清理
  • 传感器模块有助于加速嵌入式视觉开发
  • 最新大模型算法的研究进展与应用探索
  • SIEMENS PLC程序解读 -BLKMOV (指定长度数据批量传输)
  • 六、web自动化测试02
  • 0基础 | Proteus仿真 | 51单片机 | 继电器
  • BitNet: 微软开源的 1-bit 大模型推理框架
  • 2024 年:Kubernetes 包管理的新前沿
  • CDGP|金融业数据价值迎来加速释放:数据治理策略该如何调整?
  • windows作业job介绍
  • springmvc-拦截器
  • 语音合成之六端到端TTS模型的演进
  • 【视频时刻检索】Text-Video Retrieval via Multi-Modal Hypergraph Networks 论文阅读
  • isEmpty和isBlank的底层原理和区别
  • 79. 单词搜索
  • 深入理解Java的 JIT(即时编译器)
  • 从桥梁坍塌到地质隐患:超导磁测量技术的“防患未然”价值
  • pyinstaller打包paddleocr发生错误解决
  • C++中随机数的产生
  • 【HFP】蓝牙HFP协议中音频连接转移与拨号功能的深度解析
  • Java使用IText7动态生成带审批文本框的PDF文档
  • 【服务器操作指南】从 Hugging Face 上下载文件 | 从某一个网址上下载文件到 Linux 服务器的指定目录
  • 用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践
  • 692. 前K个高频单词(map的练习)
  • 【初识Trae】字节跳动推出的下一代AI原生IDE,重新定义智能编程
  • 11.ArkUI Tabs的介绍和使用
  • 【多目标进化算法】 MOEA/D算法(知识点)
  • RAG5个常见错误
  • 硬件虚拟化(如KVM、VMware)