LLDB和GDB调试器之间的区别

use*_*840 12 iphone objective-c ios

可能重复:
GDB与LLDB调试器

我想详细了解LLDB和GDB调试器之间的区别.在任何地方都提到"LLDB比GDB更快,内存效率更高".我想知道它在哪种意义上更快,内存效率更高.

  1. 当我使用LLDB时,在调试区域的变量视图中,不显示该特定类或视图控制器的成员变量(计数).添加对象时,对于本地数组,对象不会显示在变量视图中,但会显示对象的数量(计数).

    示例(在变量视图中):

    arrayOfComments NSMutableArray*0x068a6700 1对象

    - > NSArray NSArray

    - > NSObject的

  2. 当我使用GDB时,在调试区域的变量视图中,将显示该特定类或视图控制器的成员变量.添加对象时,对于本地数组,对象以及计数将显示在变量视图中.

    示例(在变量视图中):

    arrayOfComments __NSArrayM*0x68d7970 1对象

    - > 0评论*0x6804940(此处显示对象)

  3. 我看到一篇文章说LLDB理解点语法.

    po self.property

    但是当我在GDB中使用它时,它甚至可以用于"po self.property.previousProperty'sProperty",但在LLDB中不起作用.那么现在LLDB如何理解点语法.

请帮忙.

谢谢.

Dee*_*pak 6

这取决于你的编译器.我建议将lldb调试器与"Apple LLVM编译器3.0"一起使用,将gdb用于GCC版本(包括"LLVM GCC 4.2").

以下是我发现有用于调试的一些链接:

http://lldb.llvm.org/tutorial.html

http://www.corbinstreehouse.com/blog/2007/10/instruments-on-leopard-how-to-debug-those-random-crashes-in-your-cocoa-app/

http://www.markj.net/iphone-memory-debug-nszombie/

http://www.cocoadev.com/index.pl?DebuggingAutorelease

我认为这些链接可能对您有所帮助