今天发布一个版本时,在测试发布版本时发现了一个在debug时不会出现的错误。
原因可能是因为两者调用的底层库不同而导致的。
两者的编译方式不一样而已,debug阶段有问题,release变异能通过,也是有bug的。debug和release连接的底库不一样。
Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。
一、"Debug是调试版本,包括的程序信息更多"
二、只有DEBUG版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。
三、REALEASE不包含任何调试信息,所以体积小、运行速度快。
下面介绍一些两者不同的调试技巧:
1、默认工程一致是release模式,releae模式默认会编译nslog这行代码,发布的时候工程也必须是release模式!
2、而debug模式,是不会编译nslog这行代码,但是要增加一个全局的宏,这个宏是
#if defined(DEBUG)||defined(_DEBUG)
//这里写nslog的代码
#endif
如果是在debug模式下,这个宏中间的代码是会编译执行的。
3、如何在开发过程中切换debug模式和release模式呢?
product–>Scheme–>Edit Scheme ->Info–>Build Configuration 切换release和debug模式
顶
0