【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就是一次一条语句。如果碰到函数调用,并不会单步进入函数中断。直接执行完整个函数后断在函数调用的下一条语句。因此称为步过。二、
相关文档:
五、文件定位
和C的文件操作方式不同的是,C++ I/O系统管理两个与一个文件相联系的指针。一个是读指针,它说明输入操作在文件中的位置;另一个是写指针,它下次写操作的位置。每次执行输入或输出时,相应的指针自动变化。所以,C++的文件定位分为读位置和写位置的定位,对应的成员函数是 seekg()和 seekp(),seekg()是 ......
[
摘要]
指针是
C和
C++语言编程中最重要的概念之一,也是最容易产生困惑并导致程序出错的问题之一。利用指针编程可以表示各种数据结构
, 通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯;并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了 ......
va_list是c/c++语言问题中解决可变参数的一组宏.先来看一个程序例子吧.
view plaincopy to clipboardprint?
#include <stdarg.h>
/** 函数名:max
* 功能:返回n个整数中的最大值
* 参数:num:整数的个数 . ......
3: int main()
4: {
5: int i = 1,j;
6: union test{
7: int m;
8: ......