IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python pdb之快速事后调试 -> 正文阅读

[Python知识库]python pdb之快速事后调试

????????事后调试(post-mortem debugging)指的是程序运行发生异常而进入的调试模式。

? ? ? ? 当执行一个python脚本触发异常时,我们可以通过该方式进行问题的快速定位。使用如下命令执行需要调试的python脚本: python -m pdb script.py,该执行方式使用了python的标准模块pdb,pdb是python用来调试程序的模块。使用该方式执行脚本,脚本会从第一行开始就进入调试模式,然后直接输入c回车,程序就会一直执行,直到程序遇到异常;当程序遇到异常后,python便会立即进入所谓的事后调试模式(post-mortem debugging mode),并且程序会停止在触发异常的那一行,在该位置,我们便可以交互地进行调试了,包括变量的查看、代码的执行等,从而可以快速的定位到问题。这样做的好处在于,省得我们要回到脚本相应的位置手动的设置断点,特别是在没有IDE的情况下,比如在命令行执行脚本的时候,以及后续对断点代码的删除。

? ? ? ? 进入事后调试模式后,输入c或者n都会结束事后调试模式,并且重启程序,从程序第一行开始重新进入调试模式,但是依然会记住事后调试模式的状态,比如如果你在事后调试模式中通过b命令设置的断点。因此,事后调试模式有点像为了定位问题进行埋点(断点设置),然后再重新进入调试模式,并且c到断点处进行详细定位,因为这时可以通过n逐行运行代码,而不是直接退出事后调试模式。

? ? ? ? 通常配合事后调试模式的pdb命令有获取当前程序所追踪的最新帧、切换当前帧、设置断点等,对应地,我们可以通过w(where)命令获取当前帧以及上下文,箭头所指就是对应的帧;通过u(up)和d(down)来切换当前帧,并且移动当前帧所在的脚本文件;通过b(break) lineno命令在指定的行设置断点,因为b lineno中的lineno指的是当前帧所在的脚本文件对应的行数,所以需要进行帧的切换,以在我们想要的文件中设置断点,此外也可以b funcname方式在相应的函数第一行设置断点,当然该函数也应该在当前帧所在的脚本文件内才行。上述一般在事后调试模式中进行,然后通过c或n结束事后调试,自动重启程序,再进入普通调试模式进行详细问题的定位。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 18:45:04  更:2021-09-11 18:46:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:31:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码