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.语法颜色高亮 ...
随机推荐
- C#中的SMTP配置Outlook.Com SMTP主机
如果你想以编程方式使用 Outlook.com或Gmail帐户作为 SMTP主机 发送电子邮件,也有为了得到这一切工作的几件事情要注意. 使用基本的System.Net.Mail库, ...
- 文章之间的基本总结Activity生命周期
子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精 ...
- 【Quartz】定时器初步实验(一)
原文:[Quartz]定时器初步实验(一) 以前就了解了Quartz这个定时框架,但是一直没有认真的去关注他,最近忽然看到已经更新到3.0.4支持异步操作了所以就写个简单的小例子看看好用不. ...
- 如何完全备份android在系统system分区和data分
安德鲁斯系统备份是非常的情况下,可以使用.下面的这个python脚本.它可以用来备份整个data分:所有data分区的文件和文件夹打包data.zip.并产生recovery专用edify脚本upda ...
- Asp.net MVC Razor输出字符串方法(js中嵌入razor)
@{ Model p = new Model(); //输出名称和年龄 //1.第一种方式 @:姓名=@p.Name //2.第二中方式 <text>年龄=</text>p.A ...
- JS里脱离文档流
<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title&g ...
- Boost总结汇总
从开始接触Boost已经有好几年了,而对它的掌握却难言熟悉,有对它部分的源代码的剖析也是蜻蜓点水.有时间一点点梳理一下吧. 1. 概述 [Boost]C++ Boost库简介[Boost]C++ Bo ...
- inno setup 打包说明
[Setup] 这个段包含用于安装程序和卸载程序的全局设置 AppId:在注册表中唯一的项名称,安装完64位系统在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\M ...
- linux系统的ssh服务开启方法
操作方法: 1.编辑sshd_config文件 root@linux:~# vi /etc/ssh/sshd_config 2.检查如下配置项: PasswordAuthentication ye ...
- 伪类&伪元素
刚开始学习伪类和伪元素的时候,觉得好混乱呀,分不清有什么区别,用的时候也没注意对比.现在总结一下他们的区别吧. w3c中对它们的定义分别为: css伪类用于向某些选择器添加特殊的效果. css伪元素用 ...