下面我們來動手完成一個小小的實驗,通過調試,觀察變量的值。
我們在代碼中聲明兩個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或在行首欄內單擊鼠標。
如下圖:

在上圖中,我們在return 0;這一行上設置斷點。斷點所在行將被CB以紅色顯示。
接著,運行程序(F9),程序將在斷點處停下來。

(請注意兩張圖的不同,前面的圖是運行之前,后面這張是運行中,左邊的箭頭表示運行運行到哪一行)
當程序停在斷點的時,我們可以觀察當前代碼片段內,可見的變量。觀察變量的方法很多種,這里我們學習使用Debug Inspector (調試期檢視),來全面觀察一個變量。
以下是調出觀察某一變量的 Debug Inspector 窗口的方法:
先確保代碼窗口是活動窗口。(用鼠標點一下代碼窗口)
按下Ctrl鍵,然后將鼠標挪到變量 aaaa 上面,你會發現代碼中的aaaa變藍,并且出現下劃線,效果如網頁中的超鏈接,而鼠標也變成了小手狀:

點擊鼠標,將出現變量aaaa的檢視窗口:

(筆者使用的操作系統為WindowsXP,窗口的外觀與Win9X有所不同)
從該窗口,我可以看到:
aaaa :變量名
int :變量的數據類型
0012FF88:變量的內存地址,請參看5.2 變量與內存地址;地址總是使用十六進制表達
5 : 這是變量的值,即aaaa = 5;
0x00000005 :同樣是變量的值,但采用16進制表示。因為是int類型,所以占用4字節。
首先先關閉前面的用于觀察變量aaaa的Debug Inspector窗口。
現在,我們用同樣的方法來觀察變量bbbb,它的值為-5,負數在計算機中使用補碼表示。

正如我們所想,-5的補碼為:0xFFFFFFFB。
再按一次F9,程序將從斷點繼續運行,然后結束。