在Python中,ipdb
是一个基于 pdb
的增强型交互式调试器,它结合了 IPython 的强大功能。以下是 ipdb
常用的调试命令:
-
启动调试会话:
- 在代码中插入
import ipdb; ipdb.set_trace()
来启动调试器。
- 在代码中插入
-
执行控制命令:
n(ext)
或Enter
:执行下一行代码。s(tep)
:进入函数或方法内部。c(ontinue)
:继续执行直到遇到下一个断点或程序结束。r(eturn)
:从当前函数返回到调用它的上一层函数。l(ist)
:显示当前行周围的源代码上下文。
-
查看变量和表达式:
p(rint) <expression>
:打印变量或表达式的值。pp(retty-print) <expression>
:格式化打印复杂对象,如字典、列表等。whatis <expression>
:显示变量的类型。
-
断点管理:
b(reak) [lineno | function_name]
:设置断点。cl(ear)
:清除当前行的断点。clear [breakpoint_number]
:清除指定编号的断点。tbreak [lineno | function_name]
:临时断点(只触发一次)。
-
退出调试器:
q(uit)
:退出调试器并停止程序运行。
-
帮助信息:
h(elp)
或?
:显示帮助文档或特定命令的帮助。
-
执行历史命令:
- 输入命令前缀加
!
可以重复执行之前使用过的命令。
- 输入命令前缀加
-
跟踪栈信息:
u(p)
:向上移动栈帧。d(own)
:向下移动栈帧。
-
其他:
%debug
(IPython magic command):如果在IPython环境中,可以直接在发生异常的地方启动ipdb调试器。
通过这些命令,你可以有效地在代码执行过程中暂停、检查变量状态、单步执行以及跳转到不同函数层级进行调试。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。