1-2 VS2019常用调试方法(断点设置、条件断点、调试按钮、逐过程、逐语句、监视变量、快速监视)

前言

主要调试方法:

1、打印数据 2、普通断点 3、条件断点与条件追踪 4、单步调试 5、添加监视


1-打印数据

最基础的调试方法就是在程序运行过程中打印数据。

#include<iostream>
using namespace std;

int main()
{
	int a = 0;
	for (int i = 0; i < 10; i++)
	{
		a = a + i;
		if (i == 5)
			cout << "debug: i==5, a=" << a << endl;
	}
    cout << a << endl;
	return 0;
}

输出:
debug: i==5, a=15
45 

在上面程序中,需要注意的是如果if语句输出的信息是仅仅给程序员看的,在release版本中不希望出现,就可以给if语句加上宏。这样,在release版本中if语句就会直接变成灰色不会执行。

int main()
{
	int a = 0;
	for (int i = 0; i < 10; i++)
	{
		a = a + i;
#ifdef _DEBUG
		if (i == 5)
			cout << "debug: i==5, a=" << a << endl;
#endif // _DEBUG
	}
	cout << a << endl;
	return 0;
}
debug模式下输出:
debug: i==5, a=15
45
    
release模式下输出:
45

2-普通断点

断点调试都要在debug模式下,release版本中是直接跳过断点的

2-1断点快捷键

F9-插入断点

Ctrl+F9- 禁用断点

Ctrl+Shift+F9-删除所有断点


3-条件断点与条件追踪

使用普通断点进行调试时,可以为断点添加条件,就是满足什么条件时,这个断点才会生效,用在循环里效果显著。有两种方式设置断点条件:

1)鼠标在断点上方悬停会出现设置按钮;

在这里插入图片描述

2)直接在断点行右键【断点】【条件】

在这里插入图片描述

设置断点条件后,断点提示信息会更新如下:

在这里插入图片描述

还可以在到达条件断点时,添加在该断点时的操作,如下:

在这里插入图片描述

注意在操作输出时,变量必须加{},否则就会输出为字符串

另外还可以使用$来调用系统本身的变量,如线程、进程来输出


4-单步调试

主要区分就是几个调试按钮

逐过程(F10):遇到函数不会进入

逐语句(F11):遇到函数会进入

对于单行不可展开的语句,逐过程与逐语句发挥作用相同

跳出(shift+F11):进入函数后想跳出,就要适用

在这里插入图片描述

参考:visual studio 2019 :逐过程逐语句Debug


5-添加监视

选中变量【添加监视】

5-1快速监视

在数组传进函数中时,通常传入数组地址,将数组的指针添加监视只能看到当前指向的元素,如果进行【快速监视】就能看到当前指向元素后面的信息。

下面的图就是在局部变量中指针pArr只能显示当前指向的元素,如果想显示更多信息就需要使用快速监视

在这里插入图片描述

选中指针pArr,右键【快速监视】,在指针后面输入,5,点击【重新计算】,会显示从当前元素开始向后共5个元素,如果逗号后面的数字太大使数组越界,就是混乱数据了。

在这里插入图片描述

  • 85
    点赞
  • 364
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值