visual studio2022调试
调试功能是程序员在写代码的一项重要能力,当我们代码逻辑写错的时候,调试功能可以帮助我们快速定位错误。
那么让我们进入vs的调试之旅吧!!
1.设置断点和打开调试窗口
eg:用递归写出斐波那契数列
#include<stdio.h>
int fib(int a)
{
if (a <= 2)
return 1;
else
return fib(a - 1) + fib(a - 2);
}
int main()
{
int a = 0;
int c=fib(4);
printf("%d", c);
return 0;
}
1.1设置断点

断点的功能是表示从当前位置开始,当我们调试时,不会直接全部运行完毕,而是会等我们的操作进行下一步的运行,顾名思义,即停下。
操作方式:在序号前面点击,出现红点。
1.2打开调试窗口

点击调试里的开始调试F5
1.3 监视

在调试的界面下,选择窗口-监视-任选一个窗口

输入要查看的变量,我这里输入的是a,当前值默认为当前断点的值。
按下 F10为段执行跳过自定义函数,在主函数内运行
F11行执行会一步一步运行
程序就会从断点的位置继续执行,便于我们分析逻辑错误。
例如我们输入的 fib(4)

这个箭头就表示我们运行到哪一步了。
F11跳转到自定义函数
a的值会变化
简单来讲,调试就是将代码由直接运行出结果转换为一步一步运行出结果,而在vs2022中调试功能非常方便,便于我们学习。
2.内存
eg:冒泡排序
//冒泡排序
#include<stdio.h>
int bubble(int *arr,int sz)
{
int *p = arr;
for (int i=0;i<sz-1;i++)
{
for (int j=0;j<sz-i-1;j++)
{
if (arr[j] > arr[j + 1])
{
int temp = 0;
temp = arr[j];
arr[j] = arr[j+ 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int arr[] = {4,6,2,3,9,1};
int sz = sizeof(arr) / sizeof(arr[0]);
bubble(arr, sz);
for (int s=0;s<sz;s++)
{
printf("%d",arr[s]);
}
return 0;
}

1.通过监视打开一个数组的地址

2.打开内存

3.输入&arr,打开arr的地址
同理内存可以打开任意变量的地址

1.左边位变量的地址
2,中间以16进制存储的内容
3,内存中的数据解析(只能解析文本信息)
视图介绍

debug版本:调试版本(程序员测试)
release版本:发行版本(给客户使用)

x64 64位环境
x86 32位环境
不同环境下指针大小不同
19万+





