可能重复:
GDB Vs LLDB debuggers
我想详细了解LLDB和GDB调试器之间的区别。在任何地方都提到“LLDB比GDB更快,内存效率更高”。我想知道它在什么意义上更快,更节省内存。
当我使用LLDB时,在调试区域的变量视图中,不显示该特定类或视图控制器的成员变量(count)。 添加对象时,对于本地数组,对象不会显示在变量视图中,但会显示对象的数量(计数)。
示例(在变量视图中):
arrayOfComments NSMutableArray * 0x068a6700 1对象
- > NSArray NSArray
- > NSObject的
当我使用GDB时,在调试区域的变量视图中,显示该特定类或视图控制器的成员变量。 添加对象时,对于本地数组,对象和计数将显示在变量视图中。
示例(在变量视图中):
arrayOfComments __NSArrayM * 0x68d7970 1对象
- > 0评论* 0x6804940(此处显示的对象)
我看到一篇文章说LLDB理解点语法。
po self.property
但是当我在GDB中使用它时,它甚至可以用于“po self.property.previousProperty'sProperty”,但在LLDB中不起作用。那么现在LLDB如何理解点语法。
请帮忙。
谢谢。
答案 0 :(得分:6)
这取决于你的编译器。我建议将lldb调试器与“Apple LLVM编译器3.0”一起使用,将gdb用于GCC版本(包括“LLVM GCC 4.2”)。
以下是我发现用于调试的一些链接:
http://lldb.llvm.org/tutorial.html
http://www.markj.net/iphone-memory-debug-nszombie/
http://www.cocoadev.com/index.pl?DebuggingAutorelease
我认为这些链接可能会对您有所帮助
答案 1 :(得分:-2)
“LLDB支持基本命令行调试&它是可编写脚本的”。 LLDB还支持多线程调试。因此LLDB更快更快。比GDB调试器高效。
我在这里展示了这个证据。
启动一个没有参数的进程。
GDB
(gdb)运行
(gdb)r
LLVM
(lldb)流程启动
(lldb)运行
(lldb)r
如果你仔细考虑,你会得到一个确切的想法 The LLDB Debugger