恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

第24章-Python调试器 — Python101 1 文档

  • 首页
  • 资讯中心
  • /
  • 第24章-Python调试器 — Python101 1 文档

相关资讯

空调省电技术解析:从APF能效到变频原理与选购指南 2026/9/3 5:19:37
MiniMax H3本地部署全解析:低显存机器如何实现200秒级视频生成 2026/9/3 5:19:37
ClawStage技术拆解:AI陪伴硬件如何实现“在场”语音交互与本地部署 2026/9/3 5:19:37

最新资讯

LangChain生态下open_deep_research:从知识管理到AI增强研究的工程实践
AI编程助手文件操作安全:防范Claude Code与OpenAI Codex数据丢失风险
基于LSTM的空气质量预测系统:从数据爬取到Web部署的完整实践
AI漫画创作工具AIMangaStudio:从Stable Diffusion到ControlNet的完整实现指南
使用FastMCP构建AI工具服务器:从协议原理到工程实践
晶闸管(SCR)工作原理、特性参数与开关电源应用实战指南

今日推荐

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点
Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错
实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

第24章-Python调试器 — Python101 1 文档

发布时间:2026/9/3 5:19:37
第24章-Python调试器 — Python101 1 文档 第24章-调试器自带一个名为pdb的模块, 此模块能为您的程序供给一个交互式的源代码调试器, 您能够设置断点, 可以单步执行代码, 还能检查堆栈帧等, 我们会探讨该模块的以下一些方面:让我们先创建一段快速代码来尝试调试。下面是一个愚蠢的例子# debug_test.py def doubler(a): result a*2 print(result) return result def main(): for i in range(1,10): doubler(i) if __name__ __main__: main()现在让我们学习如何针对这段代码运行调试器。如何启动调试器具备三种各异的方式来启动调试器, 第一种方式是开展导入操作, 并且于代码里插入 pdb.()来启动调试器, 您能够于 IDLE 状态的时候进行调试器的导入, 进而让其运行您的模块, 又或者能够在命令行之上调用调试器, 我们会着重讲述本节最后的两种方式, 我们会起始于在解释器之中运用它IDLE, 开启终端命令行窗口, 朝着保存上述代码示例的地方进行导航, 接着启动, 此刻执行如下操作: import debug_test import pdb pdb.run(debug_test.main()) (1)() (Pdb) continue 2 4 6 8 10 12 14 16 18 我们在这儿导入模块以及PDB, 接着执行PDB的run方法, 还要告知其调用模块的main方法, 这就会展现调试器的提示, 在此我们打字持续, 去告诉它继续运行脚本, 你也能够打字c当作继续的快捷方式当你持续调试时, 程序会持续执行, 直至抵达断点或者脚本结束。启动调试器的另一种方法是通过终端会话执行以下命令python -m pdb debug_test.py如果您这样运行您将看到一个稍有不同的结果- def doubler(a): (Pdb) c 2 4 6 8 10 12 14 16 18 The program finished and will be restarted注意到在此示例里, 运用的是c而非持续, 还会注意到, 末尾调试器会重启, 这会保留调试器状态像断点, 且比作停止调试器更具用处, 有时, 得对代码多次检查, 以此了解出了啥问题。让我们再深入一点学习如何逐步完成代码。单步执行代码要是您期望一回一行地去浏览代码, 那么能够运用 step 或者简便的“s”命令。这儿是您的观赏乐趣:C:\Users\mikecd c:\py101 c:\py101python -m pdb debug_test.py c:\py101\debug_test.py(4)module() - def doubler(a): (Pdb) step c:\py101\debug_test.py(11)module() - def main(): (Pdb) s c:\py101\debug_test.py(16)module() - if __name__ __main__: (Pdb) s c:\py101\debug_test.py(17)module() - main() (Pdb) s --Call-- c:\py101\debug_test.py(11)main() - def main(): (Pdb) next c:\py101\debug_test.py(13)main() - for i in range(1,10): (Pdb) s c:\py101\debug_test.py(14)main() - doubler(i) (Pdb)此时, 于此处, 我们开启调试器从而告知其单步去执行代码。它自顶部起步, 历经前两个函数定义过程。而后其抵达条件之处且发觉应当去执行main功能。我们进入主函数范畴, 跟着运用next命令。此个next倘若命令碰上一个正被调用之函数且未曾对其单步行使, 则它会去实施该函数。若您期望单步执行被调用之函数的话, 那么仅仅是要运用step命令即可如果你见到一行类似 c:.py(13)main() 的样子, 那你就得留意括号里的数字。这个编号乃是代码里当下的行号。使用 args 或者 a, 能把当前参数列表打印至屏幕。另一便利命令是 jump 或者 j, 随后接空格以及要“跳转”至的行号。靠此可跳过一连串单调步骤, 抵达所想抵达的行。由此让我们知晓了断点设置断点位于代码里头, 会致使暂停去执行的那一行存在断点。借助下达 打破 这一命令, 或者是b命令, 紧接着跟上空格以及打算中断的行号, 便可达成。要是想在别的文件里明确断点, 还能够于该文件的行号之前添加上文件名且以冒号衔接。break命令另外还准许运用 功能 参数。存在一个t制动命令, 这个命令会去设置一个临时断点, 一旦该断点被触发, 那么就会自动被删除。下面是一个例子c:\py101python -m pdb debug_test.py c:\py101\debug_test.py(4)module() - def doubler(a): (Pdb) break 6 Breakpoint 1 at c:\py101\debug_test.py:6 (Pdb) c c:\py101\debug_test.py(6)doubler() - result a*2开启使得调试得以进行的工具, 接着告知其于第六行之处设定一个断点。而后持续推进, 它于六号线路停下, 恰似其理应停止那般。此刻是对参数列表予以查验的适宜时段, 用以查看其是否为你所预期的。尝试键入字词args眼下。接着再开展一项持续行进的操作还进行一次args查看其会怎样发生改变的。总结别的大量命令于调试器里是能够运用的, 我提议去阅读文档以便知晓别的文档, 然而, 此刻您理应能够借助调试器切实地调试自身的代码。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号