一堆人都說,擅用 IDE,逐步執行,追蹤結果,我也常和 Visual C++ 使用者這麼說。
有時問別人「會不會 Trace」,得到的答案是「會 Trace」,事實似乎並非如此,
這裡做簡單簡介,一些細節差異,日後於他文補充。
1 . 設斷點
#include <stdio.h> int main() { int i=0, sum=0; for(i=0; i<=10; ++i) sum+=i; return 0; }
假設要觀查的是 for 回圈裡的變數變化,在編輯器中,將滑鼠游標移到 for 最前面,按一下會出現一個紅點
再按一下就可取消。也可以將文字的游標停在該行,按下 F9 切換斷點。
2. 開始偵錯
按下偵錯 -> 開始偵錯 (F5)
也可直接按快捷鍵 F5 即可,輯編器應該會跑成這樣
上面多了一個 黃色鍵頭,那是斷點所在之處,也代表程式目前「正要執行這行」(也就是程式還沒跑這行)
3. 呼叫監看視窗
按下「偵錯」-> 自動變數 。
完成後出現以下視窗 (經位置調整)
裡面列的都是自動變數 (含 global variable,及在該函式 main 裡的可視變數),這裡看到,i 及 sum 都是莫名奇妙的數字,
因黃色鍵頭現在停在第四行,第四行還沒開始執行,所以沒賦予初值。
4. 開始逐步執行
按下「偵錯」-> 「不進入函式」,快捷鍵為 F10
現在, 編輯器那裡長這樣
上一行已執行完一次,黃色鍵頭已往下跳一行,故 i 值與 sum 值於第四行已執行完畢,初值設完。
再按一下 F10,變成這樣
變化的部份,會以紅色標記,裡面 i 值變 1,至於 sum 還沒執行到 ,
(黃色鍵頭指向的是 "正要執行",所以還沒執行 sum+=i ),故 sum 值還是 0。
再多按幾次 F10 慢慢觀查,最後一張圖應該長這樣
注意,有必要時,斷點可以多設幾個沒關係。
設斷點的意義在於,若每按下一次 F5 (偵錯執行) 時,程式會在斷點的地方停下來。
其它細節部份,於他篇文章再說明。
留言列表