我试图从我的Cocoa应用程序的几个崩溃报告中理解 .

由于不同的优化级别,我注意到崩溃报告 are different for Debug and Release 版本中的调用堆栈:

  • 调试:无 -O0

  • 发布:最快,最小 -Os

这使得调试问题变得非常困难,因为我基本上无法从Release构建崩溃报告中提取任何有意义的源/行信息 .

通常,对我自己的代码的唯一提示是最后一个堆栈帧 . 有点像:

13  com.apple.AppKit            0x00007fff8ac5680c NSApplicationMain + 867
 14  com.MyTestApp               0x000000010010f654 start + 52

您是否有任何分发构建的技巧可以生成更多有用的崩溃报告而不会过多地牺牲代码优化?