Chapter 6. 除錯工具

Table of Contents
簡介
ddd
基本gdb
進階gdb
結語

簡介

寫完程式編譯完成了,跑出來的結果卻不是我們要的,所以一定又有bug了, 基本上最簡單的除錯還是用螢幕印出來的,不過不要忘了因為printf到 standard output是buffer I/O,所以有時程式先死掉了裡面的buffer沒有印出來, 因此記得印到standard error

如果要用debug工具,gcc編譯時不要忘了加-g這個參數,但是會讓你的執行檔 肥一點。一般用除錯工具要做

  1. 載入程式(load)

  2. 設中斷點(break point)程式跑到這裡會停下來

  3. 開始跑程式(run)讓程式停在中斷點上

  4. 慢慢追程式(step, next ...)

  5. 檢查一些變數值(examine)

unix 上的debug工具有gdb ddd gdb不僅能debug C/C++/Objective-C 還包括了Fortran, Java, Module 2 還有Ada