VS2019调试入门:10个让新手效率翻倍的实用技巧

VS2019调试入门:10个让新手效率翻倍的实用技巧

今天给大家分享VS2019的一些调试小技巧,帮助你快速上手。

“你是否还在用Console.WriteLine调试代码?掌握这些VS2019调试神器,轻松告别低效抓虫!无需复杂配置,5分钟上手实战技巧!”

目录

一、什么是调试(debug)?

1.Debug和Release

二、基础但超实用的调试功能

1. 设置断点(F9)与逐语句执行(F11)

2. 快速查看变量值(悬停/鼠标框选)

3. 监视窗口(Ctrl+Alt+W, 1)

三、新手必会的调试快捷键

四、监视和内存观察

​编辑 五、调试示例

一、什么是调试(debug)?

当我们发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。 这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)的意思。

调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调 试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码, 重新测试。

1.Debug和Release

Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序; 程序员在写代码的时候,需要经常性的调试代码,就将这⾥设置为 debug ,这样编译产⽣的是 debug 版本的可执⾏程序,其中包含调试信息,是可以直接调试的。

Release称为发布版本,它往往是进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的, 以便⽤⼾很好地使⽤。当程序员写完代码,测试再对程序进⾏测试,直到程序的质量符合交付给⽤⼾ 使⽤的标准,这个时候就会设置为 release ,编译产⽣的就是 release 版本的可执⾏程序,这个 版本是⽤⼾使⽤的,⽆需包含调试信息等。

二、基础但超实用的调试功能

1. 设置断点(F9)与逐语句执行(F11)

操作:在代码行号左侧点击,或按F9设置断点;按F11逐行跟踪执行流程。

场景:调试登录逻辑时,逐行验证用户输入是否正确传递。

2. 快速查看变量值(悬停/鼠标框选)

鼠标悬停变量直接显示当前值。

高级技巧:拖动选中表达式(如userList.Count > 0),悬停显示结果。

3. 监视窗口(Ctrl+Alt+W, 1)

添加变量或复杂表达式(如price * quantity),实时监控变化。

右键功能:修改变量值模拟不同场景。

三、新手必会的调试快捷键

调试最常使⽤的⼏个快捷键:

F9:创建断点和取消断点

断点的作⽤是可以在程序的任意位置设置断点,打上断点就可以使得程序执⾏到想要的位置暂定执 ⾏,接下来我们就可以使⽤F10,F11这些快捷键,观察代码的执⾏细节。

条件断点:满⾜这个条件,才触发断点

F5:启动调试,经常⽤来直接跳到下⼀个断点处,⼀般是和F9配合使⽤。

F10:逐过程,通常⽤来处理⼀个过程,⼀个过程可以是⼀次函数调⽤,或者是⼀条语句。

F11:逐语句,就是每次都执⾏⼀条语句,但是这个快捷键可以使我们的执⾏逻辑进⼊函数内部。在函 数调⽤的地⽅,想进⼊函数观察细节,必须使⽤F11,如果使⽤F10,直接完成函数调⽤。

CTRL + F5:开始执⾏不调试,如果你想让程序直接运⾏起来⽽不调试就可以直接使⽤。

VS更多快捷键了解:http://blog.csdn.net/mrlisky/article/details/72622009

四、监视和内存观察

监视和内存观察可以很好的让你发现哪里逻辑出现问题,通过观察某一个变量来确定问题,以便更好的解决问题

这些观察的前提条件⼀定是开始调试后观察

示例:

#include

int main()

{

int arr[10] = { 0 };

int num = 100;

char c = 'w';

int i = 0;

for (i = 0; i < 10; i++)

{

arr[i] = i;

}

return 0;

}

F10开始调试后,在菜单栏中【调试】->【窗⼝】->【监视】,打开任意⼀个监视窗⼝,输⼊想要观察的对 象就⾏。

打开监视窗⼝:

以上操作就可以监视变量的变化,通过F10一步一步走来观察变量的变化是否和预期的结果一样。

我们还可以通过看内存来观察变量的储存情况: 还是在【调试】->【窗⼝】-> 【内存】

五、调试示例

示例:求 1!+2!+3!+4!+...n! 的和,请看下⾯的代码:

#include

int main()

{

int n;

int sum = 0;

int ret = 1;

scanf("%d", &n);

int i = 0;

for (i = 1; i <= n; i++)

{

int j = 1;

for (j = 1; j <= i; j++)

{

ret *= j;

}

sum += ret;

}

printf("%d", sum);

return 0;

}

运行结果:

输入一个3,就是1!+2!+3!,答案等于15,大家觉得对吗?我们仔细一算应该是9的,那为什么是15呢,这时候就可以调试来观察变量的变化发现问题的所在之处。

这是我们一开始的值,n输入为3,按F10一步一步调试

这里我们可以发现当i等于3,j等于1是,ret的值还是为2,这说明了ret的值在计算3!时初始值不是1,这就相当于3!=2*2*3=12,再加上1!和2!就等于15了 ,所以我们应该要在每次进入第二次循环的时候就将ret的值给初始化为1,改动如下:

int main()

{

int n;

int sum = 0;

scanf("%d", &n);

int i = 0;

int j = 1;

for (i = 1; i <= n; i++)

{

int ret = 1;

for (j = 1; j <= i; j++)

{

ret *= j;

}

sum += ret;

}

printf("%d", sum);

return 0;

}

运行结果:

这样答案就正确了,这就是调试的使用,当我们没有发现问题,但是运行结果错误时,就可以进行调试来发现问题所在。

“这些技巧只是VS2019调试的冰山一角!立即打开你的项目,尝试用F10/F11替代Console.WriteLine,感受高效调试的魅力吧!遇到问题?欢迎评论区留言交流~”

相关推荐

合作伙伴