调试程序的故乡_调试程序_debug_next_下一步_list_pdb3

举报
yd_243933172 发表于 2024/07/29 11:12:19 2024/07/29
【摘要】 调试程序的故乡_调试程序_debug_next_下一步_list_pdb3

show: step
version: 1.0
enable_checker: true

调试程序 🥋

回忆上次内容

  • 进到调试环境 没有思路
    • 就喊救命help
    • 可以看到各种帮助

图片描述

  • 如何一步步向前执行呢?

list

  • l(ist)
    • 可以列出 上下文11行的程序
    • 缩写是l

图片描述

多次列表

  • l只能查看一次程序列表
    • 因为原来都是电传打字机
      • 在当前位置
      • 打出来之后
      • 就不再打印了

图片描述

  • 如果 l .
    • 就会围绕着当前行(.)
  • 如果 l n
    • 就会显示从n之后的11行

图片描述

  • 这两种方式
    • 可以多次反复查看

完整代码

  • ll
    • 可以查看全部代码

图片描述

  • 以上三种查看方式
    • 可以在同一位置上多次查看

使用命令

  • 当前行前面 有个箭头 ->

图片描述

  • 确实可以 看到上下文
    • ->代表着 程序当前行的位置
      • 怎么 往下一行 走呢?

next

  • n(ext)
    • 可以 往下走一行
      • 缩写是n

图片描述

  • 试一下

图片描述

  • 把1982年输出了
    • 然后当前行来到了1995年
  • 如何判断 1995年
    • 在 整个程序中的位置 呢?

执行

  • l(ist)
    • 可以列出 当前行 的上下文
      • 找到 当前行的位置

图片描述

  • 在 第2行
    • 执行 next 命令
      • 就会输出 1995-----Guido in cnri
      • 然后 箭头(->) 跳转到 第3行
      • 准备 接下来 继续执行 第3行
  • 当然 也可以
    • 一路next 下去

一路next

图片描述

  • 一路next

完成调试

  • 一路next 下去
    • python 解释器 就是
  • 这样 一步步地 解释执行py程序 的

图片描述

  • 顺序执行 每行代码的

    • 一行行 挨排儿执行的
  • 终于来到 最后一行

    • 如果 到这里 再next
      • 会发生什么呢?

最后一步

  • 执行完 最后一句之后
    • 就会 --return–

图片描述

  • 这个时候
    • 已经到了 程序的尽头
    • next 会发生什么呢?

绕圈

  • 到头了 就又重来
    • 就会再从头执行 这个文件
    • 就重新开始了

图片描述

  • 从头开始了

退出pdb3

  • 查询帮助
    • pdb3 的帮助系统
      • 可以实时互动
  • 什么不会了
    • 可以直接和pdb3交互
    • 现场就可以给出解释

图片描述

  • q退出pdb3
    • 回到shell

总结

  • py文件 是 按照顺序
    • 一行行 挨排 解释执行的
    • 可以用 pdb3 hello.py
      • 来调试程序
  • 顺序执行
    • 程序 在文本中 从上到下 是
      • 一行行写的
    • 解释器 从上到下 是
      • 一行行解释的
    • 调试 也是 从上到下
      • 一行行 调试的
  • bug这个东西
    • 是什么时候才有的呢?

图片描述

  • 最早那只 活的bug🪰
    • 找出来的 呢?🤔
  • 我们下次再说!👋
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。