正常情况下,我们用以调试的代码,大概都会加上一个编译条件,这样避免在生产环境中产生不必要的性能损耗等
还有一种情况,就是我们也需要将一部分类似的代码,在正式发布版本前,在Release下进行使用,通常情况下是以特定的功能或者log的方式进行输出
这些代码也许对于程序本身是没有用的,但是却能很快的帮助我们定位问题所在。
比如,大量数据中的一个数据异常,如果在debug下定位可能会非常的慢,如果有了log或者有了特定功能,让我们能够通过可视化的形式去定位数据异常的位置,那么调试就会事半功倍
再比如,在图形化界面中,大量的模型中的一个出现问题。如果有了特定功能,我们可以直接在Release下定位该模型的信息,比如id,比如坐标等,在debug下增加一个条件,即可只关注这一个问题
再比如,在流程化、模块化的开发环境中,表面出现问题的地方可能距离真正的bug位置很远,这个时候有了log,按照流程,每个开发保证下自己的数据正常,即可很快定位问题所在