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

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

文章目录

前言

在 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 隧道实现远程调试。以下是一个简单的示例:

在 VS Code 中,使用以下配置连接到远程调试服务器:

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

在本地机器上,创建一个 SSH 隧道:

ssh -2 -L 5678:localhost:5678 user@remote-server 

在远程服务器上,运行以下命令启动调试服务器:

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

八、调试技巧

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

九、常见问题及解决方法

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

Read more

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

摘要:本文聚焦OpenClaw从测试环境走向生产环境的核心痛点,围绕“性能优化、安全加固、监控运维”三大维度展开实操讲解。先明确生产环境硬件/系统选型标准,再通过硬件层资源管控、模型调度策略、缓存优化等手段提升响应速度(实测响应效率提升50%+);接着从网络、权限、数据三层构建安全防护体系,集成火山引擎安全方案拦截高危操作;最后落地TenacitOS可视化监控与Prometheus告警体系,配套完整故障排查清单和虚拟实战案例。全文所有配置、代码均经实测验证,兼顾新手入门实操性和进阶读者的生产级部署需求,帮助开发者真正实现OpenClaw从“能用”到“放心用”的跨越。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性能优化】 【Java生产级避坑指南:

By Ne0inhk
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》 ❄专栏传送门: 《freertos专栏》《STM32 HAL库专栏》 ⭐️流水不争先,争的是滔滔不绝  📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生 | 省级优秀毕业生获得者 | ZEEKLOG新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生 在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连 目录 前言  一、实验基础说明 1.1、互斥体简介 1.2 本次实验设计思路 二、硬件原理分析(看过之前博客的可以忽略) 三、实验程序编写 3.1 互斥体 LED 驱动代码(mutex.c) 3.2.1、设备结构体定义(28-39

By Ne0inhk
Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 后端工程师扔给你一个 Swagger (OpenAPI) 文档地址,你会怎么做? 1. 对着文档,手写 Dart Model 类(容易写错字段类型)。 2. 手写 Retrofit/Dio 的 API 接口定义(容易拼错 URL)。 3. 当后端修改了字段名,你对着报错修半天。 这是重复劳动的地狱。 swagger_dart_code_generator 可以将 Swagger (JSON/YAML) 文件直接转换为高质量的 Dart 代码,包括: * Model 类:支持 json_serializable,带 fromJson/

By Ne0inhk
Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

文章目录 * 前言 * make/makefile * 文件的三个时间 * Linux第一个小程序-进度条 * 回车和换行 * 缓冲区 * 程序的代码展示 * git指令 * 关于gitee * Linux调试器-gdb使用 * 作业部分 前言 做 Linux 开发时,你是不是也遇到过这些 “卡脖子” 时刻?写 makefile 时,明明语法没错却报错,最后发现是依赖方法行没加 Tab;想提交代码到 gitee,记不清 git add/commit/push 的 “三板斧”,还得反复搜教程;用 gdb 调试程序,输了命令没反应,才想起编译时没加-g生成 debug 版本;甚至连写个进度条,都搞不懂\r和\n的区别,导致进度条乱跳…… 其实这些问题,

By Ne0inhk