调试程序_debug_next_下一步_list_pdb3 🥋
回忆上次内容
- py程序是 按
顺序执行
的
- 是一行行 挨排 执行
- 程序员的kpi
- 曾经 根据 代码数量
- 现在kpi 也在 不断演化
- 并不是 代码量 越多越好
- 写的代码(Code) 越多
- 可能 出现的
bug
就越多
- 要的是 可用的Code
- 而不是 不可用的Bug
- 那 什么是
bug
呢?
bug
- bug 就是 程序错误
- 比如 NameError
- 要 找到错误
- 然后 修复错误
- 这就是
调试
- debug
尝试调试
- 想要 在程序里 debug
- 首先 得
有
一个程序 - 还用 上次的
guido.py
- 如果 上次的 没了
- 就复制 下面这个
print("1982------Guido in cwi")
print("1995------Guido in cnri")
print("2000------Guido in beopen")
print("2005------Guido in google")
print("2012------Guido in dropbox")
print("2020------Guido in microsoft")
- 然后粘贴到
- 网上系统的 剪贴板上
- 保存 在线剪贴板
准备环境
- 在shell中 键入
vi guido.py
- :reg
- 执行底行命令reg
- 观察寄存器register的状态
- 系统寄存器
"*
、"+
中
- 都存着 刚复制的 源代码
粘贴代码
- 回车 继续
- 从 底行命令模式
- 回到 正常模式
- 在vim正常模式下
- 键入"+
- 观察窗口底行
- 出现"+字样
- 使用的寄存器 是
- 系统剪贴板 寄存器
- "+
- 然后 键入p
p
aste 粘贴
粘贴结果
- 键入:wq
- 保存并退出vim
- 回到shell
运行程序
python3 guido.py
- 原来 是一下子 运行到最后
- 现在可以
逐行
调试运行 吗?
调试程序
- 调试的意思是
- 一行行地执行
- 看有没有错误(bug)
pdb3 guido.py
- 使用
pdb3
来进行调试
pdb
的意思是p
ython'sd
eb
ugger
- bug 是 虫子
- 在编程中 指的是错误
- de 是 降低 减少
- decrease
- defame
- decolor
- decline
- debug 是 祛除虫子
- 在编程中 指的是
- 减少错误
- 需要 逐行进行调试
- 为什么 要
逐行
调试呢?
逐步调试
- 由于程序 不知道 哪里出的问题
- 所以才
逐步
来执行
逐步
调试运行的目的
- 找到 bug所在的位置
- 还原当时的犯罪现场
- 也就是
debug
- 我们这就去
debug
help
- 进入
pdb3 guido.py
后
- 不知道 怎么办
- 就喊 救命🆘(help)
- help 给了
- 很多的
命令主题
(topic) - 还说 可以
help
一下具体命令主题
- 查看哪个
命令主题
呢?
具体帮助
- 先查看
- 关于 help命令的 帮助
- 对着 help 喊救命🆘(help)
- 没有参数 的 话
- 显示
所有
命令的帮助
- 有
1
个参数help
- 显示
help
这个参数的帮助
缩略形式
- h(elp) 的缩写是 h
- elp 可以省略
- 以上四句
- 都可以查看
- help 这个主题命令
- 这并不难 h h
- 感觉掌握帮助系统了
- 还可以怎么玩呢?
总结
- 进到调试环境 没有思路
- 就喊救命help
- 可以看到各种帮助
- 如何一步步向前执行呢?
- 我们下次再说!👋
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython