1、bug
为什么程序中的错误我们称之为bug呢?bug的本义是虫子,这与程序错误有什么关系呢?
这一点是有历史渊源的。世界上最早的程序出错是因为一只虫子在晶体管上所导致的,所以之后程序中的错误就沿袭于此,称之为bug。
程序员在代码的编写过程中要尽量避免bug的出现,可是再优秀的程序员也会因为考虑不周等原因写出bug。那么,我们该如何去找出并纠正程序中的bug呢?答案是通过调试。
2、调试
调试,英文为debug,可以理解为delete bug,调试的目的就是找到程序中的bug并清除或纠正。
这里插一点题外话。我们平时写程序的时候会发现有两个版本:一个是release,另一个则是debug.
这两个版本有很大的区别。简单来说,debug是面向程序员的,没有经过优化,是可以进行具体调试的,因而文件也相对较大;而release则与之相反,它是面向用户的,经过了很多优化,虽然不可以进行具体的调试,但用户使用起来更方便,相比之下,release文件也要小于debug文件。
A、快捷键
言归正传,来讲一讲调试时常用的一些基本快捷键:
F5:开始调试,并移动到逻辑上的下一个断点处。若无断点,则将程序全部执行。
F9:插入或清除断点。ctrl+F9则是禁用断点。F9常与F5连用,用于调试时将程序直接跳转到想要调试的代码处
F10:逐过程调试。可以逐语句调试,但调试时无法进入函数内部
F11:逐语句调试。相较于F10,F11可以进入函数内部逐语句调试,因而使用得非常多
ctrl+F5:开始执行不调试。通常的过程是:编译、链接并生成可执行文件(.exe),然后再运行该可执行文件
这些快捷键都很基本,调试时的快捷键还有很多,在此不过多深入。
B、窗口
调试时打开一些窗口,对整个程序的运行过程进行监视,会大大有利于我们找出程序中的bug所在。
用得比较多的窗口有:监视、断点、内存等等
不过注意,这些窗口要在调试起来之后才能打开,正常编写程序时是无法打开的
3、总结:
一个编程新手,80%的时间都在写程序,而20%的时间在调试程序;而一个编程高手,20%的时间在写程序,却用80%的时间来调试程序。由此可见,掌握出色的调试本领对于一个程序员而言有多么的重要。
但要明确的是,好的代码更大程度是写出来的,而不是缝缝补补不断调试出来的。因而,在掌握好调试技巧的同时,要养成良好的代码编写习惯和技能,让自己整个代码写出来的整体便是一个好代码,然后再通过调试去修补其中的一些小bug,这才是正解。