从开发角度看,OceanBase 的二进制文件有两种版本:
- DEBUG
- RELEASE
DEBUG 模式包含了丰富的日志、调试手段,并且编译优化级别较低,性能较差。
RELEASE 模式以性能为目标,去掉了大量调试工具和日志。
为了尽可能模拟客户环境的问题,测试团队一般都是用 RELEASE 模式做测试。遇到问题时调试很麻烦,例如,开发同学可能希望在测试环境里增加一些配置项来控制程序行为,但是不能加,因为加了就释放到客户那边去了。DEBUG 模式下可以随便加,但是测试环境中不可用。
所以,除了 RELEASE 和 DEBUG 外,应该增加一种模式:
- TEST
如果定义了 TEST,则执行 xxxx 逻辑。
#ifdef TEST
xxxx
#endif
最终的使用模式:
在测试的初期,用 TEST + RELEASE 选项来编译。基本问题解决后,用 RELEASE 模式回归。