当前位置:  开发笔记 > IOS > 正文

Xcode/Cocoa:调试和发布版本之间有什么区别?

如何解决《Xcode/Cocoa:调试和发布版本之间有什么区别?》经验,为你挑选了1个好方法。

Cocoa应用程序的调试和发布版本之间有什么区别?我知道调试版本包含调试的其他信息,但还有什么不同?



1> Adam Rosenfi..:

调试版本将包含可供调试器使用的调试符号.发布版本通常不包含调试符号,因此如果您获得崩溃转储,您将获得的是一堆十六进制地址而不是有用的符号名称.

调试版本不是使用优化(-O0使用gcc)编译的,而版本版本是使用优化(通常-O2-O3)编译的.优化使调试变得更加困难.如果您尝试调试发布应用程序,调试器将变得非常困惑,因为汇编语句不再与HLL语句匹配,语句重新排序,函数内联,循环展开等.

调试和发布版本还定义了不同的预处理器符号,并且某些代码是基于这些符号进行条件编译的(例如,数组边界检查,断言等),尽管这是高度依赖于应用程序的.一个典型的例子是#define NDEBUG发布模式,它会导致断言被删除.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有