python学习之调试(Debugging)

我们知道,调试对程序员来说是非常重要的,利用好调试能够大大提高我们发现和修改程序的Bug,在python中调试的方法主要有两种。

第一种是从命令行运行:

可以在命令行中使用Python debugger 运行一个脚本,如:

$ python -m pdb my_script.py

这会出发debugger在脚本第一行指令出停止执行,这种方法在脚本程序比较短的时候很有帮助,在停止执行之后可以通过Pdb模式查看变量信息,并进行逐行调试。


第二种方式是从脚本内部运行调试:

我们可以在脚本内部设置断点,这样就可以在特定位置查看相关变量的信息和各种执行时的一些相关信息。可以使用pdb.set_trace()方法来实现。例如:

import pdb
def make_bread():
    pdb.set_trace()
    return "I don't have time"
print(make_bread())

保存脚本并运行之后,程序在运行时会自动进去debugger模式,并在pdb.set_trace()方法处停止运行,此时我们可以使用一些命令查看相关信息。

debugger模式下有一些比较常用的命令:

c: 继续执行
w: 显示当前正在执行的代码行的上下文信息
a: 打印当前函数的参数列表
s: 执行当前代码行,并停在第一个能停的地方(相当于单步进入)
n: 继续执行到当前函数的下一行,或者当前行直接返回(单步跳过)

单步跳过和单步进入的区别在于,单步进入会进入当前行调用的函数内部并停在里面,而单步跳过会全速执行完当前行调用的函数,并停在当前函数的下一行。

更多关于Pdb调试的信息可以参考官网:https://docs.python.org/2/library/pdb.html 或者https://docs.python.org/3/library/pdb.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值