前言
在编写代码的过程中,相信⼤家肯定遇到过这样的情况:代码能够编译通过,没有语法错误,但是运⾏结果却不对,反复检查了很多遍,依然不知道哪⾥出了问题。这个时候,就需要调试程序了。那么调试的具体步骤是怎样的呢?接下来就由我来带你彻底掌握调试的技巧。
一、VS调试快捷键
1.环境准备
⾸先是环境的准备,需要⼀个⽀持调试的开发环境,应该把VS上设置为Debug,如图:
2.调试快捷键
调试最常使⽤的⼏个快捷键:
F9: 创建断点和取消断点
断点的作⽤是可以在程序的任意位置设置断点,打上断点就可以使得程序执⾏到想要的位置暂定执⾏,接下来我们就可以使⽤F10,F11这些快捷键,观察代码的执⾏细节。
条件断点: 满⾜这个条件,才触发断点
F5: 启动调试,经常⽤来直接跳到下⼀个断点处,⼀般是?和F9配合使⽤。
F10: 逐过程,通常⽤来处理⼀个过程,⼀个过程可以是⼀次函数调⽤,或者是⼀条语句。
F11: 逐语句,就是每次都执⾏⼀条语句,但是这个快捷键可以使我们的执⾏逻辑进⼊函数内部。在函数调⽤的地⽅,想进⼊函数观察细节,必须使⽤F11,如果使⽤F10,直接完成函数调⽤。
CTRL+F5: 开始执⾏不调试,如果你想让程序直接运⾏起来⽽不调试就可以直接使⽤。
VS更多快捷键了解:http://blog.csdn.net/mrlisky/article/details/72622009
二、监视和内存观察
在调试的过程中我们,如果要观察代码执⾏过程中,上下⽂环境中的变量的值,有哪些⽅法呢?
这些观察的前提条件⼀定是开始调试后观察,⽐如:
int main()
{
int sum=0;;
int i;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("%d",sum);
return 0;
}
1.监视
开始调试后,在菜单栏中【调试】->【窗⼝】->【监视】,打开任意⼀个监视窗⼝,输⼊想要观察的对象就⾏。
打开监视窗⼝:
在监视窗⼝中观察:
2.内存
如果监视窗⼝看的不够仔细,也是可以观察变量在内存中的存储情况,还是在【调试】->【窗⼝】->【内存】
打开内存窗⼝:
在内存窗⼝中观察数据:
在打开内存窗⼝后,要在地址栏输⼊:&sum,&i,这类地址,就能观察到该地址处的数据。
调试过程中,要做到⼼中有数,也就是程序员⾃⼰⼼⾥要清晰的知道希望代码怎么执⾏,然后再去看代码有没有按照我们预定的路线在执⾏。
调试是需要反复去动⼿练习的,调试是可以增加程序员对代码的理解和掌控的,掌握了调试的能⼒,就能看到本质,就像能给程序做B超⼀样,对程序内部⼀览⽆余。
三、 编程常⻅错误归类
1.编译型错误
编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝⻢迹的,双击错误信息也能初步的跳转到代码错误的地⽅或者附近。编译错误,随着语⾔的熟练掌握,会越来越少,也容易解决。
2.链接型错误
看错误提⽰信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。⼀般是因为
- 标识符名不存在
- 拼写错误
- 头文件没包含
- 引用的库不存在
3.运⾏时错误
运⾏时错误,是千变万化的,需要借助调试,逐步定位问题,调试解决的是运⾏时问题。
到这里就结束了!如果对你有帮助,麻烦一键三连啦,你们的支持就是我坚持下去的动力哟,✨下期见✨