调试程序_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 
- 
paste 粘贴
粘贴结果
- 
键入:wq 
- 
保存并退出vim 
- 
回到shell 
运行程序
python3 guido.py
- 
原来 是一下子 运行到最后 
- 
现在可以 逐行调试运行 吗?
调试程序
- 
调试的意思是 
- 
看有没有错误(bug) 
- 
一行行地执行 
pdb3 guido.py
- 
使用 pdb3来进行调试
- 
pdb的意思是python’sdebugger
- 
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