[oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数

029调试中的跳转与断点

until_直接跳转到_unt_breakpoint_断点函数 🥋

回忆上次内容

  • 上次 了解到

    • 计算机早期操作员 多是女性
    • 她们最早发明了 bug🕷 这个概念

图片描述

  • 到现在也没有遇到一个bug

    • 如何才能让程序里面有bug 呢?

故意改错

  • 如果程序真的出了错误

    • 调试的时候会发生什么呢?
vi guido.py
  • 把第2行 故意改错
print("1982------Guido in cwi")
pront("1995------Guido in cnri")
print("2000------Guido in beopen")
print("2005------Guido in google")
print("2012------Guido in dropbox")
print("2020------Guido in microsoft")

先直接运行

  • 如果是python3 guido.py

    • 会报NameError

      • 之后直接退回shell

图片描述

  • 犯罪现场的各个变量的值

    • 都无法取得
    • 只是知道 这个报错结果
  • 再进入 调试程序

调试程序

  • 运行到第二行的时候

    • 系统报了错误

图片描述

  • 发现错误

    • 是好事
    • 不是 我们无能的证明
    • 而是 努力的见证
    • 更是 进步的阶梯
  • 我们就知道了

    • 错误的位置
    • 错误的类型
  • 甚至可以观察

    • 当时的现场的状态

观察犯罪现场

  • 在错误发生的现场

    • 观察当时环境中的变量和状态

图片描述

  • 可以在环境中观察

    • print
    • pront
  • 一步步地 把bug找出来

    • 就像 把凶手 找出来 一样!

最真实的解谜游戏

  • debug是 我见过最真实的 解谜游戏 了

    • 比 剧本杀 好玩多了

      • 一步步地分析
  • 找不到凶手的 时候

    • 需要冷静地分析

图片描述

  • 找到凶手的 时候

    • 那种快乐太真实了!!!

改回正确

  • 回到vim

    • 并且 修改了
    • 第二行pront的错误

图片描述

  • 但这一行行执行

    • 实在 有点慢啊
  • 毕竟 都经历过 万行代码 了

    • 得 按10000次的n 才能执行完 啊?
  • 快点的方法吗?🤔
  • 可以直接跳到某一行吗?

until 直接跳到

  • 查询 until 的帮助

图片描述

  • 我们去试试

until 使用

  • until 5

    • 可以直接运行到第5行
  • 如果有问题

    • 就会爆出来
  • 如果没有问题

    • 就等待后续

      • next
      • until

图片描述

  • 这样可以

    • 快速捋到犯罪现场
    • 找到出bug时的状态
  • 除了 until之外

    • 还有什么命令
    • 可以 让流程 更快速地 流动吗?

continue

  • 快速流动这个命令叫做 continue
  • continue 可以缩写为

    • cont
    • c

图片描述

  • continue就是一路向前

    • 直到 最后一行
    • 除非 遇到断点
    • breakpoint

一路向前

  • 由于没有断点

    • continue 会直接

      • 从第一句 执行到 最后一句

图片描述

  • 如何让他在第3句之后停下来呢?

图片描述

  • q命令退出pdb
  • 然后去编辑guido.py

指定 断点位置

  • 在第四行添加了一个函数

    • breakpoint()
    • 添加一个断点
  • 断点的位置

    • 不一定是 有bug的位置
    • 而是 为了找bug而设置的 观测点

图片描述

  • 保存并退出vim
  • 重新用pdb3 运行 guido.py
  • 再试试 continue

调试过程

  • c这一下

    • 执行了三行代码
    • 直接continue 到了断点(breakpoint)

图片描述

  • 断点位置

    • 是写到程序里的

再继续

  • 再continue一下

图片描述

  • 就直接又绕道开头了

一个小笑话

  • 程序员 在公司写代码

    • 老婆 要他回来

      • 不回来 就离婚
  • 结果 他来了句

    • 等我修完这个bug

      • 就跟你离婚
  • 全部门的人 都愣住了

    • 领导 让他 赶紧回家
    • 他回复 死也不回家

图片描述

  • 妻子 听完后

    • 安心地 挂上了电话
    • 再也没有

      • 比 这个更加 海枯石烂的爱情诺言!

总结

  • py文件

    • 按照顺序一行行执行的
  • 可以通过until命令

    • 直接跳转到某行

图片描述

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值