使用PDB模式调试Python程序介绍

 更新时间:2015年04月05日 09:20:03   投稿:junjie  
这篇文章主要介绍了使用PDB模式调试Python程序介绍,本文讲解了PDB模式的使用语法,着重讲解PDB模式下的常用命令,需要的朋友可以参考下

以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过。(很多时候只是print)就从网上查找一下~

方法:

复制代码 代码如下:

python -m pdb a.py

a.py是python文件。

(Pdb)模式下的常用命令:

q
退出debug

h 即help,打印所有可以命令

h w
打印命令 w 的含意

n
执行当前行直到到达下一行或直到它返回

s
执行当前行,一有可能就停止(比如当前行有一个函数调用)。它和n(next)的区别是当前行中有函数调用时s(step)会停止当前行的执行而去调用那个函数,而n不会停止,直到计算完成这一行(到达下一行)。

b(reak) [[filename:]lineno | function[, condition]]
设置断点,可以是行号或函数。如 b 10, b foo, b foo,n == 5,最后在函数foo()入口处设置一个断点,但仅当n的值是5时才有效。当b命令无参数时,打印所有断点。

tb(reak) [[filename:]lineno | function[, condition]]
临时断点,只hit一次。

disable [bpnumber [bpnumber ...]]
使指点行的断点(们)失效

enable [bpnumber [bpnumber ...]]
使指定行上的断点(们)有效

c
继续执行程序,直到遇到下一个断点

w
即where,打印当前执行点的位置

l [first, [,last]]
输出当前行附近的源码

p expression
执行一个表达式当打印其值。

a(rgs)
打印当前函数的参数及其值

<直接回车>
重复执行上次的命令

并遇到pdb不认识的命令时,会将它当成python表达式执行。如果你想执行的表达时,最前面加上 ! 字符,比如 !n == 5

多个debug命令可以写在一行上,中间用两个分号分隔,如 s;;s。

相关文章

  • python二维列表一维列表的互相转换实例

    python二维列表一维列表的互相转换实例

    今天小编就为大家分享一篇python二维列表一维列表的互相转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 在pycharm中无法import所安装的库解决方案

    在pycharm中无法import所安装的库解决方案

    这篇文章主要介绍了在pycharm中无法import所安装的库解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Django连接数据库并实现读写分离过程解析

    Django连接数据库并实现读写分离过程解析

    这篇文章主要介绍了Django连接数据库并实现读写分离过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python爬虫实现自动登录、签到功能的代码

    Python爬虫实现自动登录、签到功能的代码

    这篇文章主要介绍了Python爬虫实现自动登录、签到功能的代码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Python随机采样及概率分布(二)

    Python随机采样及概率分布(二)

    之前的《Python中的随机采样和概率分布我们介绍了Python中最简单的随机采样函数。接下来我们更进一步,来看看如何从一个概率分布中采样,我们以几个机器学习中最常用的概率分布为例。
    2022-01-01
  • 在macOS上搭建python环境的实现方法

    在macOS上搭建python环境的实现方法

    今天小编就为大家分享一篇在macOS上搭建python环境的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python实现根据给定坐标点生成多边形mask的例子

    python实现根据给定坐标点生成多边形mask的例子

    今天小编就为大家分享一篇python实现根据给定坐标点生成多边形mask的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Selenium之模拟登录铁路12306的示例代码

    Selenium之模拟登录铁路12306的示例代码

    这篇文章主要介绍了Selenium之模拟登录铁路12306的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python基础教程之名称空间以及作用域

    Python基础教程之名称空间以及作用域

    变量是拥有匹配对象的名字(标识符),命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典,下面这篇文章主要给大家介绍了关于Python基础教程之名称空间以及作用域的相关资料,需要的朋友可以参考下
    2022-01-01
  • python学习笔记:字典的使用示例详解

    python学习笔记:字典的使用示例详解

    python字典的使用: python字典有很多好用的地方。字典每个元素都有键和值。如同现代汉语字典中的拼音和对应的文字。字典中的键是唯一的,而值不一定唯一。你看,和现代汉语字典多么的相似。
    2014-06-06

最新评论