Open xzben opened 8 years ago
example:
if (!tolua_isusertype(tolua_S,1,"cc.Ref",0,&tolua_err)) goto tolua_lerror;
cobj = (cocos2d::Ref*)tolua_tousertype(tolua_S,1,0);
if (!cobj) { tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Ref_release'", nullptr); return 0; }
在 debug 的情况下,我们 lua 引用c++ 的时候会做一些安全的检测,这种情况下,运行程序不会crash,且正确的抛出的错误信息,但是到了release 却少了这个关键的安全检测,导致 拿到的 cobj 可能为 nullptr然后就下就是crash了。 在实际开发过程中,由于我们的log信息太多,在测试的时候很有可能忽略这些报错的log信息,导致我们一打包到手机时就可能会crash,而且在那个时候对于手机crash信息也不方便,如果能够让 在 debug 的时候打印错误且直接crash的时候能够方便在测试阶段及时发现问题,release 的时候也加上这些安全性的检测保证发行包的稳定性将会更加的棒。
以上是我在开发过程中的一下感受,望采纳。祝 cocos2d-x 越来越好。。。。
But it will cause performance issue.
We can remove it if it is acceptable.
example:
if COCOS2D_DEBUG >= 1
endif
if COCOS2D_DEBUG >= 1
endif
在 debug 的情况下,我们 lua 引用c++ 的时候会做一些安全的检测,这种情况下,运行程序不会crash,且正确的抛出的错误信息,但是到了release 却少了这个关键的安全检测,导致 拿到的 cobj 可能为 nullptr然后就下就是crash了。 在实际开发过程中,由于我们的log信息太多,在测试的时候很有可能忽略这些报错的log信息,导致我们一打包到手机时就可能会crash,而且在那个时候对于手机crash信息也不方便,如果能够让 在 debug 的时候打印错误且直接crash的时候能够方便在测试阶段及时发现问题,release 的时候也加上这些安全性的检测保证发行包的稳定性将会更加的棒。
以上是我在开发过程中的一下感受,望采纳。祝 cocos2d-x 越来越好。。。。