2010-04-07 86 views
19

我正在使用LinuxGCCC如何調試C程序

我有一個make文件。

我想調試我的模塊。我不想調試一個文件,我想調試整個模塊。

我該怎麼辦?

回答

25

用-g標誌編譯你的代碼,然後使用gdb調試器。 GDB的文檔here,但在本質:

gcc -g -o prog myfile.c another.c 

然後:

gdb prog 

如果你想爲一個GDB用戶友好的圖形用戶界面,看看DDDInsight

+2

還有名爲DDD gdb的圖形界面,如果你有一個很難用習慣GDB可以是有用的。 – wasatz 2010-04-07 08:29:35

+0

+1只是添加 - http://stackoverflow.com/questions/2588853/the-community-driven-gdb-primer – 2010-04-07 08:29:43

+0

我有很大的沒有.c文件。 根據你我必須包括他們所有。 有沒有什麼最簡單的方法。 – ambika 2010-04-07 08:45:29

6

我想你是從命令行構建的。

您可能需要考慮一個IDE(集成開發環境),例如KDevelop或Eclipse等(提示 - Eclipse ... ECLPISE ... E C L I PS E)。

使用IDE編輯您的代碼,重構你的代碼,你的代碼 - 分類,單擊一個變量,類或函數跳轉到報關,等,等

和 - 當然 - 調試:

  • 運行您的代碼在IDE
  • 設置斷點停在特定線路
  • 或只是在一個時間
  • 檢查調用堆棧,看步,行你怎麼去那裏
  • 檢查變量的當前值,瞭解你的問題
  • 改變這些變量的值,並運行看個究竟
  • 和更多,更多,更多

PS爲wasatz mentioned- DDD是偉大的 - 用於可視化陣列/矩陣的內容,以及 - IMO - 特別是如果你已經鏈表

1

您可以使用基於gdb的簡單而有用的GUI「Nemiver」。它可以調試包含許多源文件的整個模塊。

enter image description here