代码调试:VS调试实操
1.什么是BUG?
BUG原意是“虫子”,在计算机领域是指未被发现的错误,又叫程序漏洞
2.什么是调试?
当你在写完代码时需要去找代码中的问题,这个过程就叫调试
我们必须承认有这个问题并且去修复问题,可以透过逐个调试或者是隔离和屏蔽代码
3.debug和release
debug为测试版本,没有任何优化,仅供程序员调试
release为可发行版本,当程序员写好代码且反复测试符合用户需求之后将程序交给用户的就是release的版本
4.调试快捷键
F5:调试键,会直接跳到断点处,通常搭配F9使用
F9:断点和取消断点键,需要测试到哪个部分就在那个部分的结尾设置断点
条件断点:当符合断点条件时才触发断点
F10:逐行调试,但不进入函数内部
F11:逐行调试,可以进入函数内部
ctri+F5:运行键,不调试代码直接运行
5.监视与内存
监视:
操作为 调试 窗口 监视(记得要先按F10)
内存:
操作为 调试 窗口 内存(也要按F10)
6.调试实操
实验代码1
int main()
{
int a = 0;
scanf_s("%d", &a);
int b = 1;
int ret = 1;
for (b = 1; b <= a; b++)
{
ret *= b;
}
printf("%d", ret);
return 0;
}
我们先打开监视
输入 b 和 ret
输入任意数字
输入完后看看是不是预期的值,输入完为120
输入正确,调试结束
实验代码2
int main()
{
int i = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i <= 12; i++)
{
arr[i] = 0;
printf("hehe\n");
}
return 0;
}
这段代码会因为越界访问导致死循环
7.编程常见错误
1.编译错误
代码的某个部分的语法错误导致报错
2.链接错误
代码有遗漏出例如:未包含头文件,库函数引用不存在或是拼写错误:
3.运行错误:
就是代码没有任何报错且可以运行在运行中出现的报错!原因千变万化