1、2010-09-02 20:15【文章标题】: VC6.0 中调试 C 语言程序简析【文章作者】: evilkis-VC6.0 中调试 C 语言程序方法简析1调试工具简介:VC6.0 中有两个应用比较频繁的调试工具:(1)Memory 窗口:其作用即查看相应地址中存放的内容,如图 1 最左边一列为地址 右边四列的内容为内存中的内容,以 16 进制表示,最后一列为内存内容 的文本显示。(2)Watch 窗口:其作用是监控表达式在程序运行过程中值的变化;其中要监控的表达式是我们自己输入的,如图:要查看那个变量的值的变化就在 Name 那一列输入变量的名字即可。2实战应用有人说软件开发的能力一看设计
2、能力,二看调试水平,可见调试能力对我们写程序的人来说是一项必须要掌握的技能,调试程序不仅仅可以帮助我们找出程序中的错误还能帮助我们更好的理解相关的 C 语言内部的东西,那我们现在就来简单的实战一下吧,首先简单说一下调试常用的几个调试快捷键当我们进入调试状态时在 VC 菜单栏中会出现一个 Debug 工具栏:其最常用的几个快捷键如下(1) (Step Over)F10 :单步执行,遇到函数调用时,执行完函数调用返回到下一条语句。(2) (Step Into)F11:单步执行,遇到函数调用时进入到函数中执行(即进入到函数的实现代码中执行)如何进入调试状态:进入调试状态有很多方法简单说两种:(1)在
3、程序中下个断点,然后按 F5(2)直接按 F101调试第一个程序 hello world!,按 F10 进入调试状态:一直按 F10 执行到 size_t i=strlen(a);这句在右侧 watch 窗口 Name下输入如上图 可知字符数组的首地址为 0012ff74,共有 12 个元素,a0在内存中为 68(注意这里是 16 进制表示的)转换为 10 进制为 104,相应的 ascii 码为 h,以此类,此外我们会发现 a11在内存中为 00,其 ascii 码为空字符即0,所以此时我们应该能理解字符串在字符数组中是以0 结尾的吧!2.看一下数组名与数组首地址的关系还是上面的程序 我们在 Watch 窗口 Name 列中输入 a 和故而又满足循环条件,所以又会循环,也即此程序会无限循环如下图:好了就到这里了,写的比较菜,都是些基础知识,最基本的应用,主要目的就是了解Memory 和 Watch 这两个工具,用他们观察内存观察程序的运行。关于调试的更多的应用需要我们自己去慢慢体会,写的不好的地方欢迎指正大家共同进步!