2013-10-26 14 views
1

除了gcc,我可以在Linux中使用哪個程序進行除錯?我在Ubuntu 12.04上使用vi,gcc。儘管gcc給出了一些排除選項的方法,但仍然有任何程序可以給我一個詳細的解釋,即關於堆棧空間,指針位置等。除了gcc,我可以在Linux中使用哪個程序進行拆線?

+9

gdb是調試器 –

+2

「我可以使用除我的機票之外的任何其他車輛嗎?我已經買了一張公共汽車票,但我仍然不在我的目的地。」 – 2013-10-26 16:55:31

+0

@ H2CO3 - 我是否在該評論中檢測到一點挫敗感? :) – ryyker

回答

4

首先,我假定你的意思gdb,不gcc(這是編譯器)。

這是一個非常寬泛的問題,因爲您不會編寫GDB缺乏的功能。但是,在Linux中有很多調試器可用:

LDDB:LLVM調試器,與gdb非常相似。由Apple工具使用。如果您使用clang編譯您的代碼,請使用此選項。

Valgrind:高級工具,用於分析內存使用,仿形性能,檢測常見的錯誤(線程問題等)

gperftools:谷歌的工具,性能分析器,堆檢查(檢測內存問題,如訪問數組超出其邊界),堆分析器

IDA:商業調試器和反彙編程序。調試您無法訪問源代碼的程序時很有用。

....和名單繼續。

+0

我試過valgrind,它很棒。我想這正是我想要的。主要的問題是我想要一個能給我詳細描述我的程序的程序? 感謝您的幫助。 – Satyam

+0

很高興爲您服務!不要忘記接受答案,如果它回答你的問題:) – Krumelur

+0

*** [Doxygen](http://www.stack.nl/~dimitri/doxygen/)***會給你一個詳細的描述你的程序,但它不是調試器,而是一個開源文檔生成器。 – ryyker

2

正如幽默中的諷刺(諷刺?:p)評論,gcc編譯器,而不是調試器gcc中的調試選項只是告訴編譯器生成調試符號以及程序的二進制輸出。

這樣,調試,像gdb,能夠處理你的程序的調試會話。只需谷歌約gdb,檢查手冊,測試它在簡單的程序,看看哪些功能是有趣的... ...和...玩得開心

更準確地說,調試器將無法跟蹤在下跌過程中的工作流程和它的內存狀態,如果你沒有指定調試選項編譯器(用於gcc這是-g

0

IDB:這是英特爾的調試器,附帶icc編譯器(您可以獲得非官方使用的版本here並試用它)。 gdb兼容,一個偉大的工具,非常友好的使用,甚至包括圖形用戶界面。這是我認爲你正在尋找的東西(我猜你認爲gdb太友好了,對吧?)

Dbx:這是Sun/Orable的調試器(我沒有特別使用這個),來使用Sun Studio軟件集(我使用編譯器和IDE),您也可以免費下載它。也是一個很棒的工具,非常類似於gdb。

+0

是的,我認爲gdb不是非常用戶友好。我也會嘗試IDB。 感謝您的幫助 – Satyam

相關問題