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