Python调试器-pdb的使用
【简介】
pdb是python自带的一个包,为python程序提供了一种交互的源代码调试功能。
【使用方法】
1. 使用命令:
python -m pdb xxx.py #可以直接进入单步执行模式
2. 在需要调试的地方设置断点(比较常用)
|
import pdb pdb.set_trace() |
【常见命令】
|
break 或 b |
设置断点 |
|
continue 或 c |
继续执行程序到下一个断点 |
|
list 或 l |
查看当前行的代码段 |
|
step 或 s |
进入函数 |
|
return 或 r |
执行代码直到从当前函数返回 |
|
exit 或 q |
中止并退出 |
|
next 或 n |
执行下一行 |
|
clear 或 cl |
清除断点 |
|
p 或 pp |
打印变量的值 |
|
cl |
清除断点 |
|
help |
帮助 |
b #打印断点位置
b+lineno #在此行设置断点
b+文件:lineno #同上
b+function #在函数第一行设置断点
tbreak #临时断点,与b一样,但是执行结束会自动删除
cl #清除所有断点
cl+文件名:lineno #清除断点
l+起始行号 #查看上下五行
l+起始行号,结束行号 #查看一段
【其他命令】
|
jump 或 j |
执行到行号 |
|
w |
打印函数栈 |
|
disable |
停用断点 |
|
enable |
启用断点 |
|
args 或 a |
列出当前执行函数的函数 |
|
run |
重新启动debug,相当于restart |
【注意】
1. 在debug的时候可以改变变量的值。
2. 直接输入Enter,会执行上一条命令。
3. 解释第一条,输入PDB不认识的命令,PDB会将其作为一条普通python命令来执行。
Python调试器-pdb的使用的更多相关文章
- python 调试模式pdb(转)
标准库的pdb pdb是Python自带的一个库,为Python程序提供了一种交互式的源代码调试功能,包含了现代调试器应有的功能,包括设置断点.单步调试.查看源码.查看程序堆栈等.如果读者具有C或C+ ...
- 「Python调试器」,快速定位各种疑难杂症!!
现在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要 ...
- python调试之pdb
一.PDB调试命令 pdb调试命令 完整命令 简写命令 描述 args a 列出当前函数的参数 break b <行号> 在某一行设置断点 break b <文件名>:< ...
- Python 调试器之pdb
使用PDB的方式有两种: 1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb命令行: 1)进入命令行Debug模式,python -m pdb ...
- python 调试器
pdb https://www.zhihu.com/question/21572891 https://zhuanlan.zhihu.com/p/43846098
- Pdb— Python的调试器
参考:Pdb- Python的调试器 pdb 模块定义了一个交互式源代码调试器,用于 Python 程序.它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上 ...
- 学习笔记之Python调试 - pdb
python调试神器——pdb - 软谋python https://mp.weixin.qq.com/s/w3Xw8I_zh7MFq2dx5kdQXw 优秀开发者必备技能包:Python调试器 - ...
- 12、python单步调试工具pdb
pdb 第4种方式是启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态.我们先准备好程序: # err.py s = '0' n = int(s) print(10 / n) ...
- win10下正确使用Sublime Text搭建python调试环境
pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的. 使用IDE无非是图个方便省事,特别是像我这种有些记性差的来说. IDE说起来方便于的几个地方就是: 1.语法颜色高亮 ...
随机推荐
- Mybatis 入门到理解篇
MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code, ...
- Parallel file system processing
A treewalk for splitting a file directory is disclosed for parallel execution of work items over a f ...
- 恩布拉科业务IM 1.8 版本号,内部沟通软件
恩布拉科业务IM,开源企业IM,免费企业即时通讯,内部沟通平台,Entboost通告v1.8版本号,主要版本更新: 管理中心添加系统监控.集群管理二大功能模块:添加云盘空间.离线消息.文件大小等參数配 ...
- windows 路径
windows下的路径分隔符是\,而不是/ hosts文件的位置:C:\Windows\system32\drivers\etc 安卓(Android)用户:Android手机hosts文件路径:/s ...
- redis,docker和kubernetes留言簿案例实战
kubernetes实战-基于redis和docker的留言簿案例 [置顶] kubernetes实战-基于redis和docker的留言簿案例 标签: dockerkubernetesredis 2 ...
- GTK+浅谈之一Windows10下QtCreator中GTK+环境搭建(十几篇)
一.简介 虽然GTK+是Linux下的开发环境,因为其跨平台特性,有时候需要在Windows上用到它的.如下是在Windows10下配置GTK+的开发环境. Gnome的开发基础结构是围 ...
- TargetNullValue与FallbackValue
原文:TargetNullValue与FallbackValue TargetNullValue与FallbackValue都是BindingBase的属性. TargetNullValue:获取或设 ...
- 用curl访问HTTPS站点并登录(对HTTP返回的结果特别清楚)
开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...
- Symbol not found: _lua_objlen
lua: error loading module 'cjson' from file '/usr/local/lib/lua/5.3/cjson.so': dlopen(/usr/local/lib ...
- Java之线程池管理
JDK5后建议使用ExecutorService与Excutors来创建与管理线程池, 不再建议直接使用Thread. 开始不明白原因, 今天知道结果了:使用Thread.currnetThread. ...