• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 使用pdb模块调试Python程序实例

使用pdb模块调试Python程序实例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python pdb模块,pdb模块,python pdb,python pdb调试,pdb-c609-2等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在Python中,语法错误可以被Python解释器发现,但逻辑上错误或变量使用错误却不容易发现,如果结果没有符合预期,则需要调试,一个很好的调试工具:Python自带的pdb模块。pdb是Python自带的调试模块。使用pdb模块可以为脚本设置断点、单步执行、查看变量值等。

pdb可以用命令行参数的方式启动,也可以使用import 将其导入后再使用。
>>> dir(pdb) 
['Pdb', 'Repr', 'Restart', 'TESTCMD',.....,'re', 'run', 'runcall', 'runctx', 'runeval', 'set_trace', 'sys', 'test', 'traceback'] 
</div>
常见的pdb函数有以下几个:

【pdb.run()函数】

>>> 该函数主要用于调试语句块
>>> 基本用法如下
>>> help(pdb.run) 
Help on function run in module pdb: 
 
run(statement, globals=None, locals=None) 
>>>参数含义
</div>

statement: 要调试的语句块,以字符串的形式表示
globals:   可选参数,设置statement运行的全局环境变量
locals:     可选参数,设置statement运行的局部环境变量
>>>简单示例
>>> import pdb                # 导入调试模块 
>>> pdb.run('''''               # 调用run()函数执行一个for循环
for i in range(3):
    i *= 3
    print(i)
    ''') 
> <string>(2)<module>()      
(Pdb) n                       # (Pdb)为调试命令提示符,表示可输入调试命令 
> <string>(3)<module>() 
(Pdb) n                       # n(next)表示执行下一行 
> <string>(4)<module>() 
(Pdb) print(i)                # 打印变量i的值 
0 
(Pdb) continue                # 继续运行程序 
0 
3 
6 
</div>

【pdb.runeval()函数】
>>>该函数主要用于调试表达式
>>>基本用法如下
>>> help(pdb.runeval) 
Help on function runeval in module pdb: 
 
runeval(expression, globals=None, locals=None) 
</div>

>>> 参数含义

expression: 要调试的,
globals:   可选参数,设置statement运行的全局环境变量
locals:     可选参数,设置statement运行的局部环境变量

>>> 简单示例
>>> import pdb                  # 导入pdb模块 
>>> lst = [1, 2, 3]             # 定义一个列表 
>>> pdb.runeval('lst[1]')       # 调用runaval()函数来调试表达式lst[1] 
> <string>(1)<module>() 
(Pdb) n                         # 进入调试状态,使用n命令,单步执行 
--Return-- 
> <string>(1)<module>()->2 
(Pdb) n                         # 单步执行 
2                               # 返回表达式的值 
>>> pdb.runeval('3 + 5*6/2')    # 使用runaval()函数来调试表达式3+5*6/2 
> <string>(1)<module>()->2 
(Pdb) n 
--Return-- 
> <string>(1)<module>()->18 
(Pdb) n                         # 使用n命令单步执行 
18                              # 最后得出表达式的值 
</div>

【pdb.runcall()函数】

>>>该函数主要用于调试函数
>>>基本用法如下
>>> help(pdb.runcall) 
Help on function runcall in module pdb: 
 
runcall(*args, **kwds) 
</div>

>>> 参数含义
function:          函数名
args(kwds):        函数的参数
>>> 简单示例
>>> import pdb                           # 导入模块 
>>> def sum(*args):                      # 定义函数sum,求所有参数之和 
    res = 0 
    for arg in args: 
        res += arg 
    return res 
 
>>> pdb.runcall(sum, 1, 2, 3, 4)         # 使用runcall调试函数sum 
> <pyshell#53>(2)sum() 
(Pdb) n                                  # 进入调试状态,单步执行 
> <pyshell#

您可能想查找下面的文章:

  • 总结用Pdb库调试Python的方式及常用的命令
  • 总结用Pdb库调试Python的方式及常用的命令
  • 使用pdb模块调试Python程序实例
  • 使用PDB简单调试Python程序简明指南
  • 使用PDB简单调试Python程序简明指南
  • Python中使用PDB库调试程序
  • 使用PDB模式调试Python程序介绍
  • 使用Python中PDB模块中的命令来调试Python代码的教程
  • python pdb调试方法分享

相关文章

  • Python文本相似性计算之编辑距离详解
  • Python类方法__init__和__del__构造、析构过程分析
  • Python标准库defaultdict模块使用示例
  • Python实现获取操作系统版本信息方法
  • windows系统下Python环境的搭建(Aptana Studio)
  • python转换摩斯密码示例
  • 再谈Python中的字符串与字符编码(推荐)
  • python基础教程之类class定义使用方法
  • 详解Python之数据序列化(json、pickle、shelve)
  • Python import自定义模块方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python获取指定时间差的时间实例详解
    • Python自动扫雷实现方法
    • Python中列表和元组的相关语句和方法讲解
    • python实现连接mongodb的方法
    • python计算最小优先级队列代码分享
    • python判断字符串是否纯数字的方法
    • python每次处理固定个数的字符的方法总结
    • Python编写屏幕截图程序方法
    • 在Python中操作字符串之rstrip()方法的使用
    • Python中将字典转换为XML以及相关的命名空间解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有