调试程序_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