廣告
| Dev C++的Debugger |
|
|
|
| 作者是 Victor | |
| 週三, 11 二月 2009 23:54 | |
什麼是Debugger很初學者都不知道,原來IDE還有Debugger可以使用,而什麼是Debugger呢?
它是一種可以一步一步執行程式,看程式執行到哪裡,變數的內容是什麼,其間呼叫了些什麼函數的工具,通常Compiler附有都會有這樣的工具,而IDE也都會有Debugger的介面可以使用,讓我們方便地找出程式的錯誤所在,觀察程式的運作,但課堂和課本上通常都不會教你這樣的工具使用方法。 開啟專案在開始Debug之前,我們必須要有一個專案才能進行Debug,如同先前的開新專案教學,或是開啟舊專案,總而言之要有一個專案才能進行Debug,而我們今天示範用的程式碼如下: #include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
for(i = 0 ; i < 10 ; ++i){
printf("Hello Baby\n");
}
system("PAUSE");
return 0;
}
設定啟用除錯資訊有了我們要進行除錯的專案之後,我們要設定這個專案輸出除錯資訊,才能進行Debug,而設定啟用除錯資訊的方式如下: 首先開啟專案選項,按"專案"->"專案選項",或是"Alt + P",如果你沒辦法選專案選項,很可能是你沒有按照正常的方式開新專案,請參照上一篇開新專案 ![]() 接著選擇"編譯器訊息",找到左邊的"連結器",找到右邊的"產生除錯資訊",然後選擇"Yes",在這裡需要注意的是,Dev C++似乎有某些Bug,在這裡如果開啟來看到已經是"Yes",必需再重新選一次"Yes"才會生效,有時候Debugger也會失效,照這些步驟重新做一次。
![]() 設定中斷點設定完"產生除錯資訊"之後,我們就可以設定中斷點,而什麼是中斷點呢? 中斷點就是當你程式執行到某一行,會在那一行停下來等待Debugger的一個點,就叫做中斷點,由你來設定,自行決定要從哪裡開始追蹤程式的執行,因為一個程式可能是非常龐大的,總不能重透到尾都一步一步跟著走,因此我們需要中斷點,來從我們有興趣的片段開始由我們使用步進的方式來觀察程式的執行,以下是設定中斷點的方法: 在程式碼左邊黑色直條上面要中斷的那行旁邊按一下,或是將游標停在要中斷的那行,然後按"除錯"->"加入/移除中斷點"或是按"Ctrl + F5",就可以插入中斷點,而中斷點在程式裡會呈現紅色的。 ![]()
重新編譯專案當一切都設定好時,就需要重新編譯專案,因為我們這次改變設定,但是之前編譯過的東西可能還是舊的設定,為了能讓新編譯出來的程式也有新的設定,我們按"重新編譯",強迫編譯器重新編整個專案,如此一來程式李含有除錯資訊才能進行除錯。 要重新編譯專案,按"執行"->"重新編譯全部檔案"或按"Ctrl + F11"。 ![]()
開始除錯如果沒有做錯,我們現在的專案可以進行除錯了,按"除錯" -> "除錯"或是F8開始進行除錯。 ![]()
你會看到中斷點那行變成藍色的,表示程式目前已經執行到了那行並且停下來等你進行步進的動作。 ![]()
在這同時,下面也會跳出除錯的控制版面,來供你操作,有幾種在下面說明:
![]() 有了這樣除錯的功能,你可以試著觀察這個for迴圈是怎樣跑的,或是你的程式是怎樣執行的,相當有用的功能。 新增監看式有時候我們會想看一個變數在執行過程中,它的值是怎樣變化,這時就可以使用"新增監看式",來觀察特定的變數變化,例如在下面我們按"新增監看式",然後輸入i,表示我們想看變數i在執行中是怎樣變化的。 ![]() 如此一來在執行的過程中,就可以看到變數i的值。 ![]()
|
核心是 Joomla!. Designed by: Free Joomla Theme, whois protect. Valid XHTML and CSS.











