本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
超实用的Debug调试技巧汇总
吴振华 · 700浏览 · 发布于2019-08-16 +关注

1、什么是debug

● 找茬

◆ 找软件的茬

◆ 发现程序的缺陷


2、为什么需要debug?

● 谁都不敢保证,写的代码没有任何问题

● 高效查找软件异常

● 一位优秀的开发工程师=20%的时间写代码+80%的时间用来排错

“不会debug” =“不会代码” = “低工资”


3、debug需要具备哪些功能?

● 控制程序的执行

◆ 想停则停,想执行则执行

◆ 随心所欲

● 设置断点

◆ 在指定位置停止

● 查看当前命名空间(程序栈)中变量


二、Python中的Debug大法

案例代码如下所示:

创建deubg_skills_demo.py文件

全网最实用的Debug调试技巧汇总

全网最实用的Debug调试技巧汇总

全网最实用的Debug调试技巧汇总


创建gifts.py文件

全网最实用的Debug调试技巧汇总


1、Pdb操作

● 系统自带的debug工具(无需安装)

● 将以下代码放在需要调试的地方(类似于设置断点)

全网最实用的Debug调试技巧汇总

● 当程序执行到上述代码所在位置时,会自动开启一个console终端

◆ "->"是接下来要执行的代码(当前还未执行)

全网最实用的Debug调试技巧汇总

● 可以在终端运行的命令

◆ list或者l

◆ 显示当前运行的代码

◆ 默认列出11行代码

全网最实用的Debug调试技巧汇总

● p变量名或者p需要运行的表达式

◆ 打印变量的值

全网最实用的Debug调试技巧汇总

● step或者s

◆ 如果在函数调用处执行,则会进入函数体内部

全网最实用的Debug调试技巧汇总

全网最实用的Debug调试技巧汇总

● next或者n

◆如果在函数调用处执行,则不会进入函数体内部

全网最实用的Debug调试技巧汇总

● enter

◆ 重复执行上一次的命令

● b(reak) [ ([filename:]lineno | function) [, condition] ]

◆ 设置断点

◆ filename可选,如果不传,默认在当前文件设置断点

全网最实用的Debug调试技巧汇总

全网最实用的Debug调试技巧汇总

● c或者continue

◆ 继续往下运行,在下一个断点处停下来

全网最实用的Debug调试技巧汇总

● disable断点编号

◆ 禁用断点

全网最实用的Debug调试技巧汇总

● enable断点编号

◆ 启用断点

● cl或者clear 断点编号

◆ 清除断点

全网最实用的Debug调试技巧汇总

● display或者undisplay 变量

◆ 监听或者不监听某个变量

◆ 如果变量值改变,会自动显示

全网最实用的Debug调试技巧汇总

● h或者help

◆ 帮助信息

全网最实用的Debug调试技巧汇总

● h具体命令

◆ 具体命令的帮助文档

● h pdb

◆ pdb的完整文档


三、Pycharm debug操作

全网最实用的Debug调试技巧汇总


1、打开Python Prompt

全网最实用的Debug调试技巧汇总

会出现一个ipython的控制台

● 可在控制台查看当前命名空间中的变量

● 也可执行Python表达式

全网最实用的Debug调试技巧汇总


2、Step Over/F8

● 按调试工具栏中的

全网最实用的Debug调试技巧汇总

● 类似于pdb中的next

● 程序不会进入到函数体内部


3、Step Into/F7

● 按调试工具栏中的

全网最实用的Debug调试技巧汇总

● 类似于pdb中的step

● 程序会进入到函数(方法)体内部、系统源码、第三方模块源码中


4、Step Out/Shift+F8

● 从函数体内部跳出

全网最实用的Debug调试技巧汇总


5、Step Into My Code

Step Into My Code / ALT+Shift+F7

● 按调试工具栏中的

全网最实用的Debug调试技巧汇总

● 主要关注自己写的代码

● 从系统源码、第三方模块源码中跳到自己写的代码中


6、Evaluate Expression

全网最实用的Debug调试技巧汇总

● 在当前命名空间内计算表达式的值


7、Quick Evaluate Expression

● 快速计算表达式的值

全网最实用的Debug调试技巧汇总

全网最实用的Debug调试技巧汇总


8、Watching

全网最实用的Debug调试技巧汇总

● 类似于pdb中的display

● 可以监听某个变量或者表达式的值


四、总结

全网最实用的Debug调试技巧汇总

● 作为代码编写者,掌握代码的调试技巧是必备的

● 能提升工作效率,提高代码质量

● Python中Debug调试工具和技巧非常多

● 最常用、最实用的知识点,本文均有覆盖


相关推荐

将Fedora 29升级到Fedora 30

吴振华 · 697浏览 · 2019-05-14 22:00:02
使用Nginx反向代理到go-fastdfs

iamitnan · 719浏览 · 2019-05-23 13:42:00
利用VLC搭建组播流服务器

追忆似水年华 · 2684浏览 · 2019-06-14 11:27:06
用Bash脚本监控Linux上的内存使用情况

吴振华 · 962浏览 · 2019-06-24 11:27:02
加载中

0评论

评论
坐标是江苏.南京,行业是互联网,技术是PHP和java,还有熟悉前后端等。
分类专栏
小鸟云服务器
扫码进入手机网页