调试程序 🥋
回忆上次内容
- 进到调试环境 没有思路
- 就喊救命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
🪰
- 是
谁
找出来的 呢?🤔
- 我们下次再说!👋