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