Xcode 5.1不再正式支持GDB,而是仅默认为LLDB。 LLDB的问题在于它没有显示有关应用程序崩溃的有用调试信息。此外,所有异常断点只是在main.m上中断。这使调试变得荒谬乏味。我在这里看到,这是LLDB的常见问题,GDB做得更好。
如何为xcode 5.1启用GDB?
答案 0 :(得分:0)
没有办法将gdb与更新的Xcodes一起使用。
我不知道你的意思是“它没有显示有关应用程序崩溃的有用调试信息。”可能最好向bugreporter.apple.com提交更多细节的bug,可能有办法让lldb为你正常工作。
当你说“所有异常断点在main.m上断开”时,我也不确定你看到了什么。如果你去lldb控制台并执行:
(lldb)突破列表
是main.m上的断点吗?
使用Xcode 5 Debugging UI时可能需要注意一点(也许这是从4开始,我不记得了。)当你的程序由于帧中出现崩溃或异常而停止时没有调试信息,Xcode实际上会选择具有调试信息的堆栈的第一帧。这是为了避免向人们展示完全反汇编的屏幕,有些人觉得这很可怕......所以源框架会显示,例如,main.m,尽管实际最底层的框架是其他东西。
Xcode还具有“堆栈压缩”功能,可以隐藏“不感兴趣”的帧。这也可以使这种停止混乱 - 尽管它通常会显示最底层的帧,你可能会错过它,只看到你的源帧。如果您不喜欢,可以关闭堆栈压缩。
确保这不是你所看到的。