debug

105 阅读3分钟

0/参考网址

www.cnblogs.com/itechpark/p…

1/什么是debug

debug是一种运行模式,用来跟踪程序的走向,以及跟踪程序运行过程中参数的值的变化。

之所以称debug是一种运行模式,这是相比于其他的运行模式来说的。
比如我运行一个xxxx.py这样的python脚本,直接点运行即可,这也是一种运行模式,不过我们看不到其中的运行过程,而是最后得到结果。
如果报错了,或者得到的结果不符合预期,那么我们就应该代码中找bug了。这个时候就用到debug了。

也就是说,并不是任何时候都需要debug的。如果没有太大的问题,得到的结果也符合预期,则就不需要debug了。

2/debug的作用

debug一般用来跟踪代码的运行过程,通常在程序运行结果不符合预期或者出现异常的情况下使用。
所以,使用debug模式可以很好的跟踪问题,帮助程序员处理bug.
对于程序员来说,基本上每天都会使用debug功能。

3/debug的使用

各种开发工具的debug的功能都大同小异,下面以Intellij Idea的debug为例。

3.1debug模式运行程序

bug的中文意思就是小虫子,图中的小虫子图标就是debug模式启动程序,eclipse的运行按钮旁边一样的有一个小虫子图标。

图片.png

3.2断点

用鼠标在那一行的前面点击一下就行了,取消断点再次点击就行了。

3.3step over单步调试

在debug视图中,点击step over单步执行,快捷键是f8.
单步执行的意义是:程序执行到打断点的那一行,接下来每执行一步可以按一次这个按钮,这样可以查看每一步的变量的值。
变量的值可以在Variables里面查看,在代码的视图窗口中每个变量的后面也会显示变量的值。

图片.png

3.4step into进入方法(函数)

点击step into, 程序向下执行一步,如果当前行代码中有待执行的函数,这一步将会进入到函数内部去执行,然后又可以进行单步执行调试。这一步的快捷键是f7。右边蓝色向上的那个step out的按钮就是跳出当前方法(函数)的调试,返回到之前的断点执行到的地方。

图片.png

3.5纯断点执行

纯断点执行就是:
     程序只在断点的地方进入调试模式,中间的执行过程直接执行过去,这样可以方便多个断点的调试。

图片.png

3.6查看程序中所有的断点

点击那两个红点合起来的按钮,就可以查看程序中所有的断点,复选框选中就是使断点生效,不勾选则失效

图片.png

3.7查看变量的值

已经执行到过的代码每一行将会将行内的变量的值显示在当前行的后面,Variables视图窗口中也可以查看每个变量的值。

图片.png

3.8

到此,idea的debug基本上就说完了,几乎所有的程序员都会使用的这个技能。
如果你还不会,赶紧打几个断点调试一下吧。

总结

我平时一般是通过print()来发现代码中的bug的,很少用debug工具。
也就是说,debug并不是一定要使用的工具,对于程序员来说,每个人都有自己的习惯,怎么舒服怎么来。