python大程序_python程序的调试

python程序的调试

python程序在运行时内部是什么样子的呢?这个问题挺深入的,在这学习一下python程序是怎样调试的。

调试方法

命令行启动调试

python -m pdb test.py

026f9fac763509db53396776409deabc.png

代码插入调试

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)

458ed98b9b417f616d043c5671c58dcd.png

直接运行这个程序,会发现提示以下错误:

a17ad0e6625ad8efd5253d828bd5e6c0.png

错误发生在functionB中,为了查看情况,在这里下一个断点

b386e55fb8022faa5c1067128565e689.png

再次运行直接进入pdb界面,并停在断点处

08b2f1ed9aae0df50ea76ac508e33f76.png

pdb的界面和python很类似,可以通过输入参数名来打印传给函数的值

c2a8121ae252ee193302f103d5df6146.png

步入下一行n(next),是程序一行一行执行

继续正常执行c(continue)

5e5425509e4ea2cd2d9caddbed3a5311.png

更多命令可以使用help查看

b7c5b58c60e752f5c8e247c703b8607b.png

示例程序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)

又报了几行错

cfcbb7ef273e4f32e931923c6b11c975.png

命令s进入被调用函数

65f286128d45407977f0846fdf3ea708.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值