XcodeCocoa:调试和发布版本有什么区别?

XcodeCocoa:调试和发布版本有什么区别?,第1张

概述Cocoa应用程序的调试发布版本之间有什么区别? 我知道调试版本包含调试的其他信息,但还有什么不同? 调试构建将包含可由调试器使用的调试符号.发布版本通常不包含调试符号,所以如果你得到一个崩溃转储,你会得到的是一堆十六进制地址,而不是有用的符号名称. 调试版本不是通过优化(-O0 with gcc)进行编译,而版本编译通过优化(通常为-O2或-O3)进行编译.优化使调试更加困难.如果您尝试调试发 Cocoa应用程序的调试和发布版本之间有什么区别?
我知道调试版本包含调试的其他信息,但还有什么不同?解决方法 调试构建将包含可由调试器使用的调试符号.发布版本通常不包含调试符号,所以如果你得到一个崩溃转储,你会得到的是一堆十六进制地址,而不是有用的符号名称.

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

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

总结

以上是内存溢出为你收集整理的Xcode / Cocoa:调试和发布版本有什么区别?全部内容,希望文章能够帮你解决Xcode / Cocoa:调试和发布版本有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存