#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- 启动交互式解释器debugcode - 进入递归调试器调试代码
#调试器配置
source文件名 - 从文件执行 pdb 命令commands[中断编号] - 设置断点命中时要执行的命令j(ump)行号 - 跳转到指定行号(改变执行流)retval- 打印函数返回的值
#其他
h(elp)- 显示帮助信息alias[别名 [命令]] - 创建命令别名unalias别名 - 删除别名condition中断编号 表达式 - 设置条件断点disable[中断编号] - 禁用断点enable[中断编号] - 启用断点longlist|ll- 列出当前函数的所有源代码