Android Studio Logcat 截断问题(cocos2d-x 篇)
问题描述
Android Studio Logcat 最大长度为1000,如果游戏中有超过此限制的log,log后半部会被自动丢弃。导致有的时候,测试好不容易复现了bug,急急忙忙连上手机,由于看不到关键数据而白忙一场。
问题梳理
关于Android Studio Logcat 截断问题,许多博客已经给出了Java层面的解决方案。然,Cocos2d-x 输出到Android 是直接调用的log库,故在C++层面做出修改。
CCConsole.cpp,如图所示
解决方案
与Java层解决方案思想一致,手动截取长消息放到下一行输出。
解决效果
我们看到被截断的输出已经打印出来了。
总结
其实笔者认为此方案是治标不治本的方案,问题的解决不应该是在这里。
然,笔者能力有限,没有找到直接修改logcat 长度限制的方案。希望Google的工程师早日给出接口吧
补充
网上还有另一种解决方案,利用 adb logcat -d 将log写入到文件。
然,笔者写入后发现,文件里依然是截断的输出。如笔者操作有误,欢迎联系笔者进行探讨
参考
https://stackoverflow.com/questions/7606077/how-to-display-long-messages-in-logcat
请作者喝可乐
读后有收获可以请作者喝可乐