python学习-pdb调试

Python 中的 pdb(Python Debugger)用法

pdb 是 Python 内置的调试器,可以帮助开发者在程序运行过程中进行调试。它允许逐行执行代码、查看变量的值、设置断点等操作。

一、启动 pdb

  1. 在命令行中使用:可以在命令行中直接运行带有 -m pdb 参数的 Python 脚本。例如:python -m pdb my_script.py

  2. 在代码中使用:可以在代码中插入 import pdb; pdb.set_trace() 语句来在特定位置启动调试器。

二、常用命令

(一)查看代码

  • l(list):显示当前位置周围的代码。

(二)执行代码

  • n(next):执行下一行代码。

  • s(step):进入函数内部执行。

  • c(continue):继续执行程序,直到遇到下一个断点。

(三)查看变量

  • p(print):打印变量的值。例如:p variable_name

  • pp(pretty-print):以更易读的方式打印变量的值。

(四)设置断点

  • b(break):设置断点。例如:b line_number 在指定行号设置断点。

  • b function_name:在函数入口处设置断点。

(五)删除断点

  • cl(clear):删除断点。例如:cl line_number 删除指定行号的断点。

(六)查看断点信息

  • b(break):不带参数时,显示所有设置的断点信息。

(七)继续执行直到返回

  • r(return):继续执行程序,直到当前函数返回。

(八)退出调试器

  • q(quit):退出调试器。

三、示例

以下是一个简单的 Python 脚本,使用 pdb 进行调试:

import pdb
​
def add_numbers(a, b):
    result = a + b
    return result
​
def multiply_numbers(a, b):
    return a * b
​
def main():
    x = 5
    y = 3
    z = add_numbers(x, y)
    pdb.set_trace()  # 设置调试断点
    w = multiply_numbers(z, 2)
    print(w)
​
if __name__ == '__main__':
    main()

假设我们想要调试这个脚本,以下是可能的调试过程:

  1. 在命令行中运行脚本:python my_script.py。程序会在 pdb.set_trace() 处暂停执行,并进入调试器。

  2. 查看当前位置周围的代码:输入 l,可以看到当前位置周围的代码。

  3. 查看变量的值:输入 p x 可以查看变量 x 的值,输入 p y 查看变量 y 的值。

  4. 执行下一行代码:输入 n,执行下一行代码,即调用 add_numbers(x, y)

  5. 进入函数内部:如果想要进入 add_numbers 函数内部查看执行情况,可以输入 s

  6. 继续执行程序:输入 c,程序会继续执行,直到遇到下一个断点或者程序结束。

通过使用 pdb,可以在程序运行过程中逐步调试代码,查看变量的值和程序的执行流程,帮助我们找出和修复程序中的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值