除錯(Debug)

首先要和大家說明,我自己本身並沒有使用除錯器的習慣,所以希望針對這個部份大家可以儘量提出您的意見.

我們先以一個專案做範例,假設我們使用DFL中的一個範例:toolbar.d及toolbar.res;在這之前,我們必須先編譯好dfl.lib及dfl_debug.lib程式庫.(可以參考 http://kuan.iteye.com/blog/189115來建立庫).

1. 進入Tools->Options->Compiler & Debugger->設定Debugger的位置,在這裡建議使用Ddbg V0.11.3版.

2. 新建專案,把toolbar.d及toolbar.res加入專案,進入檔案屬性(Project Property)的Compiler Options中將[-g][-debug][-L/SUBSYSTEM]選取打勾.

3. 選定編譯時連結DFL的偵錯庫(dfl_debug.lib),或者是在toolbar.d中加入:
debug
{
  pragma( lib, "dfl_debug.lib" );
}
else
{
  pragma( lib, "dfl.lib" );
}


4. 按下Rebuild All編譯生成執行檔,因為專案屬性中選擇[-g],所以此執行檔會含有除錯資訊.

5. 按下Debug->Run Debugger,此時會出現debug視窗:
除錯(Debug)_第1张图片

6. 開啟toolbar.d文件,設定偵錯點(CTRL+滑鼠左鍵):
除錯(Debug)_第2张图片

7. 按下Debug->Run/Resume開始除錯.
除錯(Debug)_第3张图片
上圖中,左邊的視窗是Stack Frame,目前的Frame是以粗斜體來表示;右邊是變數視窗,右上方的Link按鍵若是按下的狀態,視窗的內容會隨著除錯的每一個step自動更新,另外右邊的Refresh按鍵則是立即更新.

8. 另外我們可以觀看Output視窗觀看除錯器輸出的訊息:
除錯(Debug)_第4张图片

9. 我們也可以直接在Output視窗的命令列直接輸入指令:
除錯(Debug)_第5张图片

10. 除了在Variables視窗觀看變數外,我們也可以把滑鼠移到變數上面停止不動,此時會顯示變數的內容(有時會失靈......)
除錯(Debug)_第6张图片

11. 欲結束除錯,只要按下Debug->Stop即可.

12. 有時庫文件的跳躍似乎不太靈光,我會想辦法解決的.....

你可能感兴趣的:(Blog)