visual studio (简称VS) 是集成环境(含VC等)的一个软件,它本身也是由微软公司开发的工具和产品,它像是是一个可视化的工具集合,它将代码编辑,编译器,连接器,资源编辑器什么的整合在同一个开发环境中,可以编写Windows、Linux和iOS等平台的程序,可进行很多种编辑语言,比如:C、C++、Python和JavaScript等等。
在已经或者下载好了VS软件的基础上,我们可以创建一个自己的项目:
1.发现程序错误的存在;
2.以隔离、消除等方法错误进行定位;
3.确定错误产生的原因;
4.提出纠错错误的解决方法;
5.对程序错误予以改正,重新测试;
1.Debug版本是被称为:调试版本,可进行调试,是因为在此版本下存在调试材料,它包含调试信息,并且不做如何优化,便于程序员的调试程序。(它是给程序员的版本)
2.Release版本被称为:发布版本,不可进行调试,它是往往进行了各种优化,使得在代码大小和运行速度都是最优的,以便于用户很好的体验。(它是个给用户体验的版本)
在VS上可以进行交换,这样就可以自由切换两个版本进行测试了。
可以看到在同一段代码,最后实现需要的大小,Debug需要的明显比Release版本所需更大的内存空间大小,并且在运行速度上有明显优势。
#include
int main()
{
printf("haha");
int i = 0;
for (i = 0; i < 10; i++)
{
printf("hehe\n");
}
return 0;
}
接下来可以看到:很多功能,其中可以看到:开始调试和开始执行(不调试),这两个功能后面都有其快捷方式,如开始执行但不调试:Ctrl+F5;
Ctrl+F5:,按下Ctrl+F5,开始执行,但是不会进行调试。
开始执行代码,直到代码全部执行结束的一个过程:
F5:是开始调试,一般会和其中F9一起进行使用,因为,在F5调试后程序不会停下来,直到程序结束才会停下来,这个时候就需要断点的存在帮助程序可以快点来到你想要执行是点名端前。
——
F9:是可以在程序任意设置断点,让程序在执行到这个断点这停下来。
如图可以看到描述如果按下F5,就会让代码执行到第13行这里停下来。
注意: 对于断点,如果对于循环体,可以控制在第几次循环后停下来,如:右击那个红点,进入条件,并且限制出条件,就可以。对着红点的那一行在此按下F9就可以取消这个断点,当然可以设置多个断点,但断点之间执行顺序也是依次执行。
F10:是逐语句,执行下去,直到,程序结束。
——
F11:是逐过程执行下去。
#include
int add(int x, int y)
{
return x + y;
}
int main()
{
int i = 0;
int j = 0;
scanf("%d%d", &i, &j);
int ret=add(i, j);
printf("%d\n", ret);
return 0;
}
对于F10:
———— 如果遇到函数调用,直接就执行完成。
对于F11:
————相比于F10的调用,更加的细致,会进入函数观察函数执行的过程。
——
注意:在执行语句的时候,会有一个箭头,则箭头指向的那一个语句,就是你当时在进行执行的语句。
监视:可以监视你在调试时,可以观察变量的变化的值;
——
内存:在调用之后,用于观察内存消息。
对于监视:当打开监视窗口,会有四个小监视,这四个监视可以打开任意一个,就可以进行观察。
如:这就是监视窗口;
又如你要观察变量i的值的变化,就可以输入变量名称i,用以观察变量 i 的变化。
1.在监视窗口可以观察,在进行逐句调试时,观察变量 i 的变化。
对于内存:可以直接观察内存地址,其和监视的道理差不多,可以观察数值放入内存以后的现像。
如:
我想大家应该了解栈区和 堆区;其中栈区是用来存放局部变量、形式参数等等。
可以举个例子:用以下代码来表示:对于这个含有很多函数调用,可以在栈上很清楚观察在堆栈上的变化;
void text2()
{
printf("haha");
}
void text1()
{
text2();
}
void text()
{
text1();
}
int main()
{
text();
return 0;
}
上述这些操作可以让我们更加深入程序的更深层次,了解并且熟练的掌握它们会让我们对程序有更好的理解。
——————