python ipdb 调试代码

本文介绍如何使用ipdb进行Python代码调试,包括安装方法、基本使用流程及常用命令。通过单步调试和断点设置,深入理解代码执行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python ipdb 调试代码

安装

pip install ipdb

使用

第一种方法

python -m ipdb xxx.py #单步调试

也可以写一个.py文件,如下,来执行。

import os
os.system('python -m ipdb xxx.py')

第二种方法

在需要断点的地方插入两句话

from ipdb import set_trace
set_trace()

运行程序后, 会在执行到set_trace()的时候中断程序 并出现提示符
ipdb>
好像进入了 ipython 一样

常用的命令

命令                       说明
next或n                   执行下一行
exit或q                   终止程序并退出
p或pp                     打印变量
!                         修改变量
list或l                   查看当前程序代码
break或b                  设置断点
continue或c               继续执行程序直到遇到断点
step或s                   进入函数
return或r                 在函数中使用,执行代码直到遇到断点或者函数结束
help                      帮助

举例

代码

import time
import math
def get_p_time():
    present_time = time.asctime()
    return present_time
a = 123
b = 456
c = a + b
print(c)
present_time = get_p_time()
print(present_time)

案例1: 使用n

在命令输入 python -m ipdb xxx.py 后,会出现如下交互模式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8I7UsbvS-1572926584720)(C:\Users\xiahuadong\Pictures\博客\97.png)]
代码一进入就执行到了第4行,其实这也很好理解,前面3行都是注释嘛,对代码的执行并没有实际作用,ipdb遇到注释语句会自动跳过的
接下来输入一个n,让那个代码继续执行一行:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwtmfNdU-1572926584722)(C:\Users\xiahuadong\Pictures\博客\98.png)]
可以看到返回的结果在动态的运行,多输入几次看看效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82uMMUJJ-1572926584722)(C:\Users\xiahuadong\Pictures\博客\99.png)]
执行多次n后,程序按照预计的顺序执行
注意:执行到18行遇到print©,但是并没有立即返回结果,那是因为箭头位置是指将要执行这一行了,本次并不会执行,所有下一步才输出c的值579
注意:程序执行到第8行代码时,遇到定义函数,这时在执行下一行时,代码会跳过函数部分,直接来到13行

案例2: 使用exit或q

输入exit或q便会直接退出

案例3: p或pp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1J21rgVy-1572926584722)(C:\Users\xiahuadong\Pictures\博客\100.png)]

案例4: 使用!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q1hKxIGV-1572926584722)(C:\Users\xiahuadong\Pictures\博客\101.png)]
由上图可知:想要修改变量需要在变量前面加一个!

案例5: 使用list或l

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKor5Rg4-1572926584723)(C:\Users\xiahuadong\Pictures\博客\102.png)]
当遇到执行函数时,默认会在后台执行完函数并且指向下一行代码,但是按照我们的思维,当遇到执行函数时,需要返回头去看看函数时怎么运行的,想要看看代码在函数中时如何一步一步运行的,使用s即可:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KVGkYU3X-1572926584724)(C:\Users\xiahuadong\Pictures\博客\103.png)]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏华东的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值