2014-01-30 82 views
1

我有一個文件名爲val_ref.c,我用命令標誌編譯它:正確的GCC編譯命令建立exe文件(用gdb使用)

gcc val_ref.c -DDEBUG

在那之後,我使用下面的命令打開GDB :

gdb a%所得execuatable稱爲

然後我用下面的命令來設置斷點和運行調試器:

(gdb) break main 
(gdb) break incvar 
(gdb) run 
(gdb) continue 

但是,我無法在控制檯上看到逐行處理信息。相反,我看到:

Output of console

我不知道我做錯了。例如,如果我想在VS2010或Eclipse Kepler(使用MinGW工具鏈)中將其構建爲控制檯應用程序,然後在exec上運行gdb,則它將工作得很完美(我認爲)。好像我沒有在我的編譯中添加正確的指令/標誌。有人可以幫我嗎?

回答

1

-g標誌怎麼樣?這是gdb的通常標誌..

+0

不見了! - 非常感謝!!!!!! – ha9u63ar

0

用於編譯調試的最佳標誌是-g和-O0。 -g使GCC將調試信息添加到可執行文件,-O0停止GCC啓用優化,這在調試時會造成混淆。