[Python]利用PDB来进行Python调试
1、基本概念:
PDB:Python自带的Debug工具,全称:Python Debugger
2、基本用法:
PDB有两种用法,(非侵入式方法和侵入式方法)
非侵入式方法:不用额外修改代码,在命令行下直接运行就能调试;
侵入式方法:需要在被调试的代码中添加一行代码然后再正常运行代码;
非侵入式方法的使用:
python -m pdb {FileName}
侵入式方法的使用:
import pdb;
pdb.set_trace()
3、常用的PDB用法:
命令:
l(单个小写的L)
说明:
查看当前位置前后11行源代码,当前位置在代码中会用->这个符号表示出来;
命令:
ll(两个小写的L)
说明:
查看当前函数或框架的所有源代码;
添加断点:
命令:
b
b LineNumber
b FileName:LineNumber
b FunctionName
参数含义:
LineNumber:具体的行数;
FileName:文件名,断点添加到哪个文件;
FunctionName:函数名,在该函数执行的第一行设置断点;
说明:
不带参数表示查看断点的设置;
带参数在指定位置设置一个断点;
添加临时断点:
命令:
tbreak
tbreak LineNumber
tbreak FileName:LineNumber
tbreak FunctionName
参数:
同b
说明:
执行一次之后,自动删除(这也就是为什么被称为临时断点)
清除断点:
cl
cl FileName:LineNumber
cl bpnumber
参数:
bpnumber 断点序号(多个以空格分隔)
说明:
不带参数用于清除所有的断点,会提示确认(包含临时断点)
带参数则清除指定文件行或者当前文件指定序号的断点;
参考链接:
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)