我知道调试版本包含调试的其他信息,但还有什么不同?解决方法 调试构建将包含可由调试器使用的调试符号.发布版本通常不包含调试符号,所以如果你得到一个崩溃转储,你会得到的是一堆十六进制地址,而不是有用的符号名称.
调试版本不是通过优化(-O0 with gcc)进行编译,而版本编译通过优化(通常为-O2或-O3)进行编译.优化使调试更加困难.如果您尝试调试发布应用程序,调试器将会非常困惑,因为汇编语句不再与HLL语句匹配,语句被重新排序,函数内联,循环显示等.
调试和发布版本还定义了不同的预处理器符号,并且一些代码基于那些(例如,数组边界检查,断言等)有条件地编译,尽管这是高度依赖于应用程序的.一个典型的例子是#define NDEBUG用于释放模式,这导致断言被删除.
总结以上是内存溢出为你收集整理的Xcode / Cocoa:调试和发布版本有什么区别?全部内容,希望文章能够帮你解决Xcode / Cocoa:调试和发布版本有什么区别?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)