(一)Debug和Release
Debug称为调试版本:包含调试信息,不做任何优化,可以直接调试,便于程序员调试程序。
Release称为发布版本:进行各种优化,使得程序在代码大小和运行速度上都是最优的,无需包含调试信息,便于用户使用。
同一段代码编译生成的可执行文件的大小,Release版本明显更小。
拓:-x86和-x64
- x86 目标平台指的是 32 位的 x86 架构。此架构适用于大多数旧的 32 位 Windows 操作系统和处理器。如果你的应用程序将在这些平台上运行,你应该选择 x86 架构。
- x64 目标平台指的是 64 位的 x64 架构。此架构适用于支持 64 位操作系统和处理器的计算机。如果你的应用程序将在这些平台上运行,你应该选择 x64 架构。注意,x64 架构的应用程序无法在 32 位的操作系统上运行。
(二)常用调试快捷键
F9设置断点和取消断点。
断点:可以在程序任意位置设置断点,打上断点就可以让程序到想要的位置暂停运行,接下来使用F10,F11等调试快捷键进行细节观察。
F5启动调试,经常用来直接跳到下一个断点处,一般和F9配合使用。
CTRL+F5:开始执行不调试
注:在工具栏中,调试执行是一个实心三角,执行不调试是一个空心三角。
F10逐过程,一个过程可以是一次函数调用,或者一条语句。
F11逐语句,可以使我们的执⾏逻辑进⼊函数内部。在函 数调⽤的地⽅,想进⼊函数观察细节,必须使⽤F11,如果使⽤F10,直接完成函数调⽤。可以视作F10的进阶用法。
(三)监视和内存观察
调试时观察代码执行时需要打开监视或者内存窗口
1.打开监视窗口
2.打开内存窗口
![](https://img-blog.csdnimg.cn/direct/0a914f4c5b354771b5b86de72130160c.png)
![](https://img-blog.csdnimg.cn/direct/02e0c52114c54407aca1e1ccdd3ee978.png)
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
int i = 0;
for (i = 0; i < 10; i++)
{
arr[i] = i;
}
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
在这段代码之中我们来调试观察arr数组
for循环之前,arr未赋值,因此监视中处于无法读取内存状态
连续进行调试经历两次第一个for语句后可以观察到arr[1]被赋值1
连续进行调试经历10次第一个for语句后可以观察到arr数组完成赋值。