pdb调试python脚本

  • 运行语句

使用pdb模块的run函数来调试语句块,其参数原型:run(statement[,globals[,locals]])

其中:

statement:要调试的语句块,以字符串的形式

globals:可选参数,设置statement运行的全局环境变量

import pdb
pdb.run('''
for i in range(0,3):    #使用n命令,单步执行
    i=i**2
    print i
''')

locals:可选参数,设置statement运行的局部环境变量

其中“(pdb)”为调试命令提示符,表示可以输入调试命令

如图所示:pdb调试python脚本_第1张图片

  • 运行表达式

使用pdb模块的runeval函数来调试表达式。参数原型是:runeval(expression[,globals[,locals]])

其中expreession:要调试的表达式,以字符串的形式

import pdb
pdb.run('''
for i in range(0,3):
    i=i**2
    print i
''')

如图所示:pdb调试python脚本_第2张图片

  • 运行函数

使用python模块的runcall函数来调试函数,其函数原型为:

runcall(function[,argument,...])

其中function:函数名,argument:函数的参数

def sum(*args):
    r=0
    for arg in args:
            r=r+arg
    return r

pdb.runcall(sum,1,2,3,4)

如图所示:

  • 设置硬断点

使用pdb模块中的set_trace函数在脚本中设置断点【set_trace一般在".py"脚本中使用】

#-*- coding:utf-8 -*-
#file:debug.py
#
import pdb
pdb.set_trace()
for i in range(0,5):
	i=i*5
	print i

如图:


你可能感兴趣的:(pdb调试python脚本)