【C\C++语言入门篇】 调试基础
通过前面两篇,相信大家已经基本了解了我们的研究思路。既然是研究,那么必须的研究工具就得熟练掌握了。这里我所指的研究工具就是VC,我所使用的VC版本是2005。本文也将根据VC2005进行探讨。可能很多朋友或者初学者还是使用的VC6.0。在这里本人不推荐使用VC6.0。原因很简单,VC6.0已经过时了,后面的版本比VC6.0更强大方便。可能也是因为众多经典的程序设计书籍使用的都是VC6.0。有的朋友可能不是很清楚VC6.0和VS系列到底有什么关系,那么简单的说,VS系列就是集成VC功能等诸多比如C# 、VB、 .NET等语言为一体的强大IDE环境。我们当然毫不犹豫的选择强大。好了,切入正题!
今天我们探讨的是VC自带的强大调试器,在众多调试器中,VC的调试器也是相当成熟的调试器之一了。我们程序员绝对离不开他。在我们初写程序的时候,好不容易写完了并编译通过了上百行代码的一个程序,激动难以言表只是按下F5运行,结果得不到我们的想要的结果。激动欣喜顿时变成沮丧苦恼。我该怎么办?怎么才能排查我哪里错了呢?一行一行看代码?这时就需要用到调试器了。下面我们先列举几条,方便理清思路也方便大家总结归纳。
1. 简单断点。
2. 单步调试(步入,步过)。
3. 监视窗口。
4. 内存窗口。
5. 堆栈窗口。
6. 断点窗口。
7. 局部变量窗口。
暂时列举上面几条,更多比如数据断点,寄存器窗口等其它调试方法及窗口再后面有时间我们再一一介绍。那下面我们就一一介绍上面的7点。
简单断点 通俗的讲断点(这里只是简单的F9断点及双击某行下断)就是能够让程序运行到断点位置时能够停下来,至于为什么能够停下来这个我们就先别管了。只需要知道断点就是为了程序运行到断点的时候停下来,这时方便我们观察一些数据。检查正确性。打断点可以将光标定位到某行,然后按下F9便设置了断点。同样可以在某行的最前面边框上双击打下断点。断点打下后,在此行最前面会有一个红色的圆点。如图:
单步调试 这条是比较基本的,所谓单步,就是一步一步的走,一步执行一条语句。当然如果你把多条语句写到一行或者用宏定义。那么这样将对你单步调试带来困扰。这样你非得要看具体过程可以试试反汇编跟踪。启动单步调试可以是F10。如果用F10你可以不下断点,程序会自动在main函数入口处断下来。断下来后,我们就有两种选择了。一、继续F10就是一次一条语句。如果碰到函数调用,并不会单步进入函数中断。直接执行完整个函数后断在函数调用的下一条语句。因此称为步过。二、
相关文档:
Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
&n ......
今天看到一种比较安全的枚举写法!
enum example
{
item1 = 0,
item2,
item3,
item4,
item5,
max /* when you want to add element,please add before this */
};
当你使用它的时候:
example ex1;
i ......
这两天有很多朋友已经买了书了,并且开始看,呵呵,我心里也很高兴。
嗯,要说江湖上藏龙卧虎呢,这不,这才几天时间,已经有朋友指出我书中的一处明显错误,这里我正式给大家说明一下,免得对各位读者有个不好的误导。
问题出在第26页的一个图以及其相关文字。这是第二章基础知识的第一节,其实就是关于内存的讲解,大家 ......
今天做了ACM1010
代码都对就是怎么也不能AC。那个郁闷啊!一晚上都想那个了。
本来有俩组输入,可是输出的结果就一组。仔细看输入,竟然自动换行了,奇怪,这是咋回事。
猜测可能是读入了换行符。同样的问题这C++中就没有啊!
最后通过加getchar();AC通过。 ......