Python调试器pdb |
您所在的位置:网站首页 › python处理PDB文件 › Python调试器pdb |
如果你还主要靠print来调试代码,那值得花10分钟试试pdb这个Python自带的Debug工具。 pdb有2种用法: 非侵入式方法(不用额外修改源代码,在命令行下直接运行就能调试) python3 -m pdb filename.py侵入式方法(需要在被调试的代码中添加一行代码然后再正常运行代码) import pdb;pdb.set_trace()当你在命令行看到下面这个提示符时,说明已经正确打开了pdb (Pdb)然后就可以开始输入pdb命令了,下面是pdb的常用命令 1、查看源代码命令: l说明: 查看当前位置前后11行源代码(多次会翻页)当前位置在代码中会用-->这个符号标出来命令: ll说明: 查看当前函数或框架的所有源代码2、添加断点命令: bb linenob filename:lineno b functionname参数: filename文件名,断点添加到哪个文件,如test.pylineno断点添加到哪一行function:函数名,在该函数执行的第一行设置断点说明: 1.不带参数表示查看断点设置2.带参则在指定位置设置一个断点3、添加临时断点命令: tbreaktbreak linenotbreak filename:linenotbreak functionname参数: 同b说明: 执行一次后时自动删除(这就是它被称为临时断点的原因)4、清除断点命令: clcl filename:linenocl bpnumber [bpnumber ...]参数: bpnumber 断点序号(多个以空格分隔)说明: 1.不带参数用于清除所有断点,会提示确认(包括临时断点)2.带参数则清除指定文件行或当前文件指定序号的断点5、打印变量值命令: p expression参数: expression Python表达式6、逐行调试命令包括 s ,n , r 这3个相似的命令,区别在如何对待函数上 命令1: s说明: 执行下一行(能够进入函数体)命令2: n说明: 执行下一行(不会进入函数体)命令3: r说明: 执行下一行(在函数中时会直接执行到函数返回处)7、非逐行调试命令命令1: c说明: 持续执行下去,直到遇到一个断点命令2 unt lineno说明: 持续执行直到运行到指定行(或遇到断点)命令3 j lineno说明: 直接跳转到指定行(注意,被跳过的代码不执行)8、查看函数参数命令: a说明: 在函数中时打印函数的参数和参数的值9、打印变量类型命令: whatis expression说明: 打印表达式的类型,常用来打印变量值10、启动交互式解释器interact说明: 启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)11、打印堆栈信息w说明: 打印堆栈信息,最新的帧在最底部。箭头表示当前帧。12、退出pdbq完成了。好吧,可能超过了10分钟,我承认这是一个善意的谎言,不过至此你已经掌握了,击个掌吧。 原文来源于:https://zhuanlan.zhihu.com/p/37294138版权归原作者或平台所有,仅供学习参考与学术研究,如有侵权,麻烦联系删除~感谢此外还可以看python官方指导文档:https://docs.python.org/zh-cn/3/library/pdb.html 围观:欢迎关注微信公众号:羽林君推荐阅读【1】jetson nano开发使用的基础详细分享【2】Linux开发coredump文件分析实战分享【3】CPU中的程序是怎么运行起来的 必读【4】cartographer环境建立以及建图测试【5】设计模式之简单工厂模式、工厂模式、抽象工厂模式的对比本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |