💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
下面我们来动手完成一个小小的实验,通过调试,观察变量的值。 我们在代码中声明两个int 变量,并分别初始化为5和-5。然后我们通过CB提供的调试手段,可以查看到程序运行时,这两个变量的十进制值和十六进制值。 首先新建一个控制台工程。加入以下黑体部分(就一行):   ~~~ //--------------------------------------------------------------------------- #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { int aaaa = 5, bbbbb = -5; return 0; } //--------------------------------------------------------------------------- ~~~ 没有我们熟悉的的那一行: ~~~ getchar(); ~~~ 所以,如果全速运行这个程序,将只是DOS窗口一闪而过。不过今天我们将通过设置断点,来使用程序在我们需要的地儿停下来。 ####设置断点:最常用的调试方法之一,使用程序在运行时,暂停在某一代码位置,   在CB里,设置断点的方法是在某一行代码上按F5或在行首栏内单击鼠标。 如下图: ![](https://box.kancloud.cn/2016-08-21_57b92b0328450.png) 在上图中,我们在return 0;这一行上设置断点。断点所在行将被CB以红色显示。   接着,运行程序(F9),程序将在断点处停下来。 ![](https://box.kancloud.cn/2016-08-21_57b92b033bcca.png) (请注意两张图的不同,前面的图是运行之前,后面这张是运行中,左边的箭头表示运行运行到哪一行)   当程序停在断点的时,我们可以观察当前代码片段内,可见的变量。观察变量的方法很多种,这里我们学习使用Debug Inspector (调试期检视),来全面观察一个变量。 以下是调出观察某一变量的 Debug Inspector 窗口的方法:   先确保代码窗口是活动窗口。(用鼠标点一下代码窗口) 按下Ctrl键,然后将鼠标挪到变量 aaaa 上面,你会发现代码中的aaaa变蓝,并且出现下划线,效果如网页中的超链接,而鼠标也变成了小手状: ![](https://box.kancloud.cn/2016-08-21_57b92b0356a62.png) 点击鼠标,将出现变量aaaa的检视窗口: ![](https://box.kancloud.cn/2016-08-21_57b92b036c74d.png) (笔者使用的操作系统为WindowsXP,窗口的外观与Win9X有所不同) 从该窗口,我可以看到: aaaa :变量名 int :变量的数据类型 0012FF88:变量的内存地址,请参看5.2 变量与内存地址;地址总是使用十六进制表达 5 : 这是变量的值,即aaaa = 5; 0x00000005 :同样是变量的值,但采用16进制表示。因为是int类型,所以占用4字节。   首先先关闭前面的用于观察变量aaaa的Debug Inspector窗口。 现在,我们用同样的方法来观察变量bbbb,它的值为-5,负数在计算机中使用补码表示。 ![](https://box.kancloud.cn/2016-08-21_57b92b038bb8a.png) 正如我们所想,-5的补码为:0xFFFFFFFB。   再按一次F9,程序将从断点继续运行,然后结束。