Python的调试器pdb的使用实践总结

本文介绍了Python调试的基本步骤,包括在代码中插入pdb.set_trace()进行断点设置,以及如何使用'l'查看代码段,'n'执行下一行,'p'打印变量值等命令。此外,还讲解了如何通过这些命令来有效地检查和理解代码执行过程,帮助开发者定位和解决问题。
摘要由CSDN通过智能技术生成

一、使用方式

1. 在代码中需要调试的地方,加上两行代码:

    import pdb  # pdb是python自带的包,所以直接导入即可
    pdb.set_trace()

2. 假设我在某测试用例方法中需要调试,则代码如下:

def test_financial_active_list_demand(api_name):
    api_dsl = settings.lookup_depend(api_name)
    requests = settings.resolve(api_name, api_dsl)
    # 调试
    import pdb
    pdb.set_trace()
    for req in requests:
        resp = api.call(req['url'], req['method'], req['params'], req['headers'])
        result = resp.json()

        assert resp.status_code == 2000
        if result['success'] == False:
            logging.debug(resp.text)
        assert result['success']

二. 我常用的几个命令(结合场景使用介绍):

1. “查看当前行的代码段”命令:l

首次进入调试模式后,用“l”可查看当前行的代码段,其中“->”就代表当前执行到的地方

2. “打印变量的值”命令:已经执行过的变量名

图中的“api_dsl”是已经执行过的变量,所以直接输入变量名就可打印出对应的值;

如果输入变量名并回车后,未输出任何东西,则说明变量的值为”None“,可以用”print(变量名)“打印出来看看

3. “打印变量的值”命令:未执行到的变量名

图中的“req”是未执行到的变量名,所以输入变量名后,报错“*** NameError: name 'req' is not defined”

4. “执行下一行”命令:n

若想继续执行下一行,就使用“n”命令

5. “查看当前行的代码段”命令:l

执行完下一行后,使用“l”查看当前执行到的地方,可看到“->”下移了一行

6. “打印变量的值”命令:已经执行过的变量名

此时再打印“req”,就可以成功了,因为“req”所在的那行已经执行过了

7. “中止并退出”命令:q

不想继续调试了,就直接退出即可。但是这个退出是直接退出,不会继续执行完程序的哦

8. 若想继续执行完程序,则使用命令“c”即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值