GDB & LLDB調試器有什麼區別?我最近將我的Xcode版本從4.2升級到4.3 &開始收到警告,將我的調試器從GDB升級到LLDB。GDB Vs LLDB調試器
回答
LLDB是Apple轉移到的LLVM工具套件的一部分,包括Clang。有很多改進的功能,包括改進的性能。有一個快速的介紹了GDB的用戶在這裏:http://lldb.llvm.org/tutorial.html
但是......
你可能要考慮到論壇一趟在developer.apple.com。目前在LLDB方面存在一些問題(在XCode 4.3.1中)。蘋果公司的一位人士證實,一個令人討厭的問題是,在步行時觀看ivars可能會給你帶來錯誤的價值。
這個錯誤就是爲什麼你會發現我暫時使用GDB :) – 2012-03-14 21:24:53
謝謝你提到這個問題!我對LLDB調試器向我展示的內容感到很生氣。這是完全不可能的。 GDB確實工作得更好。 – 2012-07-10 15:07:56
你好。已經有一年了。 LLDB仍然不太好? – Voldemort 2013-06-30 08:40:34
1.定義的差異
首先,什麼是GDB?
「GDB是GNU的軟件系統標準的調試器」
GNU調試器,通常被稱爲只是GDB和GDB命名爲一個可執行文件,是爲GNU操作系統的標準調試器。但是,它的使用並不僅限於GNU操作系統,它是一個可移植的調試器,可運行在許多類Unix系統上,可用於許多編程語言,包括Ada,C,C++,Objective-C,Free Pascal,Fortran,Java 1以及其他部分。 2
(報價來自維基百科)
二,什麼是LLDB?
「LLDB是建成爲一組可重用的組件的調試器,它在更大的LLVM項目高度利用現有的庫,如鏘表達式解析器和LLVM反彙編。
LLDB是蘋果的‘從地上爬起來’更新換代對於GDB,與LLVM編譯器緊密協作開發,爲您帶來最先進的調試功能,並具有豐富的流量控制和數據檢測功能。從Xcode 5開始,所有新的和已有的開發項目都會自動重新配置爲使用LLDB。標準的LLDB安裝爲您提供了一套廣泛的命令,旨在與熟悉的GDB命令兼容。除了使用標準配置外,您還可以輕鬆地定製LLDB以滿足您的需求。
(引自Apple官方網站)
/*我試圖找到實際/實際的數據來證明聲明:在調試大型程序時,LLDB已經比GDB快得多。) 但是,我找不到它。如果有人有這些相關數據,請編輯這篇文章。 */
GDB和LLDB無疑都是優秀的調試器。
GDB是爲GNU編譯器創建的GNU項目的一部分調試器。
LLDB是創建用於LLVM編譯器的LLVM項目的調試器的一部分。
2。通過調試器命令使用
的差異大部分的命令是相同的。
但是,lldb和gdb,兩個不同的調試器是由不同的開發人員開發的,因此有一些不同的命令。
這是比較好的鏈接,用於比較這兩個調試器命令的差異。
讓我聯繫下面的細節: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html
http://lldb.llvm.org/lldb-gdb.html
這清楚地表明並組織命令的區別。
如果網站不能訪問了,我總結從鏈接網站下面的命令的主要區別。
3.由個人意見
LLDB已經完全從Xcode的IDE 5默認爲主要調試器集成在一起。
從那時起,有一些關於LLDB穩定性,性能問題和錯誤的投訴報告。
但是,LLVM與LLDB項目一直在不斷改進和升級,直至成爲全球核心開源項目之一。
因此,我認爲,至少LLDB應該用於蘋果開發環境,因爲LLDB竊取了GDB的地位,並且至少在Apple世界中已經是主要的默認調試器。
(9月下旬,2016年,Xcode中8整合LLVM和LLDB正式發佈,這意味着相當多的時間,因爲LLVM/LLDB已經通過爲默認工具鏈的Xcode的。)
但是,我們都已經知道GDB有已經過了30年的歷史和強大的驗證和戰鬥驗證調試器,這非常棒。
所以,我想說...
我想同時使用鐺,使用gdb的同時使用gcc編譯器的良好組合或對,因爲LLDB是基於LLVM,而GDB是GNU調試器使用LLDB。
我希望它可以對你有所幫助。
感謝。
- 1. xcode 4.3.3 gdb或lldb調試器跳轉
- 2. 如何使用lldb(或gdb)調試Clang插件
- 3. gdb/mi gdb服務器調試
- 4. 使用Xcode的lldb調試開發lldb
- 5. LLDB調試器 - 如何評估C宏?
- 6. GDB/LLDB突破共享庫
- 7. 用gdb調試
- 8. gdb vs lldb哪個更適合新的object-c
- 9. 用gdb調試C
- 10. gdb print NSString調試
- 11. GDB調試保護
- 12. GDB調試警告
- 13. GDB遠程調試
- 14. gdb調試奇怪
- 15. 是否可以使用gdb/lldb調試其他iOS應用程序?
- 16. 使用gdb調試回調
- 17. 當使用LLDB調試器時,Xcode 4.6掛在「附加到...」上
- 18. 當調試器使用LLDB時Xcode 4.6.1崩潰
- 19. 使Qt調試器正常工作(GDB)
- 20. GDB調試信息解析器/說明
- 21. 如何設置gdb調試器連接?
- 22. gdb,mdb和軟調試器的區別
- 23. 在gdb調試器中運行代碼
- 24. Eclipse的C++ GDB調試器爲Mac
- 25. GDB(GNU調試器)的Java API
- 26. Mac OS Sierra 10.12.4 GDB調試器
- 27. gdb調試器多個源文件
- 28. GDB作爲默認調試器
- 29. 山獅沒有工作gdb調試器
- 30. 使用GDB調試PHP解釋器
一個是拖我更改主要區別在於,GDB在打印大陣了很多重複的內容很聰明,而只是LLDB吹滅垂直滾動條。 – 2012-04-25 12:12:52
我喜歡LLDB的是它的語法更加結構化。 GDB更自由一些。 – 2013-04-29 23:48:45