1926

10 分钟

#Python 的内置函数 breakpoint

说明:设置断点。

#函数说明

def breakpoint(): ''' 调用位置进入调试器 '''

说明

用于设置断点,在调用位置会进入调试器。当程序执行到 breakpoint() 时,会调用 sys.breakpointhook()

默认情况下会启动 pdb 调试器(Python 标准库中的调试器)。

可以通过设置 PYTHONBREAKPOINT 环境变量来改变调试器行为:

  • PYTHONBREAKPOINT=0 禁用所有断点
  • PYTHONBREAKPOINT=pudb.set_trace 使用 PUDB 调试器

参数

返回值

#示例

print('hello') breakpoint() print('world')

#调试器的命令

#执行控制

  • q(uit) - 退出调试器并终止程序
  • c(ontinue) - 继续执行直到遇到下一个断点
  • n(ext) - 执行当前行,停在下一行(不进入函数)
  • s(tep) - 执行当前行,进入被调用的函数
  • r(eturn) - 继续执行直到当前函数返回
  • unt(il) [行号] - 继续执行直到到达指定行号或当前函数返回

#断点管理

  • b(reak) [文件名:]行号 - 在指定行设置断点
  • b(reak) 函数名 - 在函数入口设置断点
  • cl(ear) [中断编号] - 清除断点(不指定参数则清除所有)
  • tbreak [参数列表] - 设置临时断点(命中一次后自动删除)
  • disable [中断编号] - 禁用断点
  • enable [中断编号] - 启用断点
  • ignore 中断编号 [次数] - 忽略断点指定次数

#代码导航

  • l(ist) [first[, last]] - 列出当前行周围的代码
  • ll - 列出当前函数或框架的所有代码
  • w(here) - 显示当前执行堆栈
  • u(p) - 向上移动一个堆栈帧
  • d(own) - 向下移动一个堆栈帧
  • a(rgs) - 显示当前函数的参数

#变量检查

  • p 表达式 - 打印表达式的值
  • pp 表达式 - 漂亮打印表达式的值
  • whatis 参数 - 打印参数的类型
  • display [表达式] - 每次停止时自动显示表达式值
  • undisplay [表达式] - 停止显示表达式值

#代码执行

  • ! 语句 - 执行 Python 语句(可省略感叹号)
  • run [参数列表] - 重启调试的程序(仅在 pdb 启动后可用)
  • restart [参数列表] - 同 run

#变量操作

  • interact - 启动交互式解释器
  • debug code - 进入递归调试器调试代码

#调试器配置

  • source 文件名 - 从文件执行 pdb 命令
  • commands [中断编号] - 设置断点命中时要执行的命令
  • j(ump) 行号 - 跳转到指定行号(改变执行流)
  • retval - 打印函数返回的值

#其他

  • h(elp) - 显示帮助信息
  • alias [别名 [命令]] - 创建命令别名
  • unalias 别名 - 删除别名
  • condition 中断编号 表达式 - 设置条件断点
  • disable [中断编号] - 禁用断点
  • enable [中断编号] - 启用断点
  • longlist | ll - 列出当前函数的所有源代码

#推荐阅读

创建于 2025/6/9

更新于 2025/6/11