——————·今天是2020年的第14天·——————
这是ITester软件测试小栈第89次推文
Debug 对于任何coding人士都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。有时候通过程序运行时的报错可以很容易的找到出错的位置,但是有时候必须得通过调试程序才能找出我们的错误,以下介绍一些debug调试技巧。
方法一
利用print()
通过print()将可能有问题的变量打印出来。
def fun(s):
n = int(s)
print(' n = %d' % n)
return 100 / n
def main():
fun('0')
main()
缺点:调试完后程序里到处都是print(),用完得删掉它,否则运行结果会包含很多垃圾信息。
方法二
利用断言
凡是可以用print()来辅助查看的地方,都可以用断言(assert)来替代,如果断言失败,assert语句本身就会抛出AssertionError。
def fun(s):
n = int(s)
#assert意味,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错
#如果断言失败,assert语句本身就会抛出AssertionError
assert n!=0,'n is zero!'
return 100 / n
def main():
fun('0')
main()
缺点:程序中如果到处充斥着assert,和print()相比也好不到哪去。这时,启动Python解释器时可以用-O参数来关闭assert
方法三
打断点
1.添加断点:直接在标记处点击鼠标左键。取消断点时,在同一个位置此点击即可。如果断点所在行代码变蓝,表示,断点已经处于该行代码,但是并未执行。
2.利用Debug运行代码(点击七星瓢虫图标或者通过“运行->调试”),快捷键:alt+shift+F9
3.根据所需进行代码调试,此时,在pycharm 主页面的下方窗口出现2个选项(Debugger 、Console),Debug的调试方式如下所示: