在Python中,ipdb 是一个基于 pdb 的增强型交互式调试器,它结合了 IPython 的强大功能。以下是 ipdb 常用的调试命令:

  1. 启动调试会话

    • 在代码中插入 import ipdb; ipdb.set_trace() 来启动调试器。
  2. 执行控制命令

    • n(ext)Enter:执行下一行代码。
    • s(tep):进入函数或方法内部。
    • c(ontinue):继续执行直到遇到下一个断点或程序结束。
    • r(eturn):从当前函数返回到调用它的上一层函数。
    • l(ist):显示当前行周围的源代码上下文。
  3. 查看变量和表达式

    • p(rint) <expression>:打印变量或表达式的值。
    • pp(retty-print) <expression>:格式化打印复杂对象,如字典、列表等。
    • whatis <expression>:显示变量的类型。
  4. 断点管理

    • b(reak) [lineno | function_name]:设置断点。
    • cl(ear):清除当前行的断点。
    • clear [breakpoint_number]:清除指定编号的断点。
    • tbreak [lineno | function_name]:临时断点(只触发一次)。
  5. 退出调试器

    • q(uit):退出调试器并停止程序运行。
  6. 帮助信息

    • h(elp)?:显示帮助文档或特定命令的帮助。
  7. 执行历史命令

    • 输入命令前缀加 ! 可以重复执行之前使用过的命令。
  8. 跟踪栈信息

    • u(p):向上移动栈帧。
    • d(own):向下移动栈帧。
  9. 其他

    • %debug (IPython magic command):如果在IPython环境中,可以直接在发生异常的地方启动ipdb调试器。

通过这些命令,你可以有效地在代码执行过程中暂停、检查变量状态、单步执行以及跳转到不同函数层级进行调试。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。