关于visual studio 2022的调试问题

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位环境
不同环境下指针大小不同

评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值