python程序的调试
python程序在运行时内部是什么样子的呢?这个问题挺深入的,在这学习一下python程序是怎样调试的。
调试方法
命令行启动调试
python -m pdb test.py
代码插入调试
import pdb pdb.set_trace()
调试的目的一般是在程序出现bug时候,需要定位错误,调试测试指定时间变量的值是否正确,也就是修正错误
和C/C++相比,python程序的调试也是十分简单的,下面就简单介绍一下pdb的简单使用:
示例程序1:
def funcA(first_val, second_val):
result = (first_val*2) - (second_val/4)
return result
def functionB(first_val=23, last_val=72):
response = funcA(first_val, last_vale)
result = response * first_val / 7
return result
functionB(33,88)
直接运行这个程序,会发现提示以下错误:
错误发生在functionB中,为了查看情况,在这里下一个断点
再次运行直接进入pdb界面,并停在断点处
pdb的界面和python很类似,可以通过输入参数名来打印传给函数的值
步入下一行n(next),是程序一行一行执行
继续正常执行c(continue)
更多命令可以使用help查看
示例程序2:
def funcA(first_val, second_val):
result = (first_val * 2) - (second_val / 0)
return result
def functionB(first_val=23, last_val=72):
# we would place our break point here
response = funcA(first_val, last_val)
result = response * first_val / 7
return result
functionB(33, 88)
又报了几行错
命令s进入被调用函数