Iphone LLDB和GDB调试器之间的差异

Iphone LLDB和GDB调试器之间的差异,iphone,objective-c,ios,Iphone,Objective C,Ios,可能重复: 我想详细了解LLDB和GDB调试器之间的区别。在任何地方,它都被称为“LLDB比GDB更快,内存效率更高”。我想知道它在什么意义上更快、内存效率更高 当我使用LLDB时,在调试区域的变量视图中,不显示该特定类或视图控制器的成员变量(计数)。 当对象被添加到本地数组时,对象不会显示在变量视图中,而是显示对象的数量(计数) 示例(在变量视图中): arrayOfComments NSMutableArray*0x068a6700 1对象 ->NSArray NSArray ->NSOb

可能重复:

我想详细了解LLDB和GDB调试器之间的区别。在任何地方,它都被称为“LLDB比GDB更快,内存效率更高”。我想知道它在什么意义上更快、内存效率更高

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

    示例(在变量视图中):

    arrayOfComments NSMutableArray*0x068a6700 1对象

    ->NSArray NSArray

    ->NSObject

  • 当我使用GDB时,在debug区域的variables视图中,将显示该特定类或视图控制器的成员变量。 当对象被添加到本地数组中时,对象以及计数将显示在变量视图中

    示例(在变量视图中):

    arrayOfComments\uU NSArrayM*0x68d7970 1对象

    ->0注释*0x6804940(此处显示对象)

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

    个人财产

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

  • 请帮忙


    谢谢。

    这取决于您的编译器。我建议将lldb调试器与“Apple LLVM compiler 3.0”一起使用,并将gdb用于GCC风格(包括“LLVM GCC 4.2”)

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

    我认为这些链接可能会帮助您“LLDB支持基本的命令行调试&它可以编写脚本”。LLDB还支持多线程调试,因此LLDB比GDB调试器更快、更高效

    在这里,我提出了这方面的证据

    启动一个没有参数的进程

    GDB

    (gdb)运行

    (gdb)r


    LLVM

    (lldb)进程启动

    (lldb)运行

    (lldb)r

    如果你经历了这些,你会得到一个确切的想法