使用使用pdb模块调试模块调试Python程序实例程序实例
主要介绍了使用pdb模块调试Python程序实例,本文着重讲解了pdb.run()函数、pdb.runeval()函数、pdb.runcall()
函数、pdb.set_trace()函数的使用以及pdb调试命令等内容,需要的朋友可以参考下
在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']
常见的pdb函数有以下几个:
【【pdb.run()函数】函数】
>>> 该函数主要用于调试语句块
>>> 基本用法如下
复制代码 代码如下:
>>> help(pdb.run)
Help on function run in module pdb:
run(statement, globals=None, locals=None)
>>>参数含义
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
【【pdb.runeval()函数】函数】
>>>该函数主要用于调试表达式
>>>基本用法如下
复制代码 代码如下:
>>> help(pdb.runeval)
Help on function runeval in module pdb:
runeval(expression, globals=None, locals=None)
>>> 参数含义