美文网首页大数据 爬虫Python AI Sql
Python 必备 debug 神器:pdb

Python 必备 debug 神器:pdb

作者: 燕大侠v | 来源:发表于2019-10-08 11:31 被阅读0次

    目录

    叨逼叨

    使用介绍

    举个简单的栗子

    叨逼叨

    首先,介绍一下 pdb 调试,pdb 是 python 的一个内置模块,用于命令行来调试 Python 代码。或许你会说,现在用 Pycharm 等编辑器来调试代码很方便,为啥要用命令行呢?这个问题,我曾经也这么想,直到有一次,代码必须要在 Linux 系统上跑(现在 Pycharm 也可以远程调试代码了,我们先不说这个)遇到问题没人解答,小编创建了一个Python学习交流裙:五二八 三九七 六一七, 寻找有志同道合的小伙伴,互帮互助,群里还有不错的学习视频教程和PDF电子书分享!

    使用介绍

    如何添加断点?

    说到 debug,肯定是要添加断点的,这里有两种方式添加断点:

    在想要断点代码后添加 一行

    若是使用这种方式,直接运行 Python 文件即可进入断点调试。

    用命令行来添加断点

    若是使用这种方式,需要 python -m pdb xxx.py 来启动断点调试。

    常用命令

    先简单介绍一下使用命令,这里不用记住,等用到的时候回来查就行。

    1 进入命令行Debug模式,python -m pdb xxx.py

    2 h:(help)帮助

    3 w:(where)打印当前执行堆栈

    4 d:(down)执行跳转到在当前堆栈的深一层(个人没觉得有什么用处)

    5 u:(up)执行跳转到当前堆栈的上一层

    6 b:(break)添加断点

    7 tbreak:(temporary break)临时断点

    8 cl:(clear)清除断点

    9 disable:停用断点,参数为bpnumber,和cl的区别是,断点依然存在,只是不启用

    10 enable:激活断点,参数为bpnumber

    11 s:(step)执行下一条命令

    12 n:(next)执行下一条语句

    13 r:(return)执行当前运行函数到结束

    14 c:(continue)继续执行,直到遇到下一条断点

    15 l:(list)列出源码

    16 a:(args)列出当前执行函数的函数

    17 p expression:(print)输出expression的值

    18 pp expression:好看一点的p expression

    19 run:重新启动debug,相当于restart

    20 q:(quit)退出debug

    21 j lineno:(jump)设置下条执行的语句函数

    22)unt:(until)执行到下一行(跳出循环),或者当前堆栈结束

    23)condition bpnumber conditon,给断点设置条件,当参数condition返回True的时候bpnumber断点有效,否则bpnumber断点无效

    举个简单的栗子

    运行实例:(这里为了方便大家阅读,我添加了中文注释,实际运行时不会有注释的)

    总结

    按照上面的例子一套下来,基本的用法就可以学会了,关键还是得自己多实践,今天就写到这,还想写一篇关于性能调试的文章,不知道这两天有没有时间了。

    相关文章

      网友评论

        本文标题:Python 必备 debug 神器:pdb

        本文链接:https://www.haomeiwen.com/subject/giqbpctx.html