在cocos中偶尔会遇到闪退的问题,特别是android和ios系统下的闪退就特别难处理了,
虽然说能使用xcode和eclipse显示log,但是也会出现一些特别的情况,直接闪退而且
没有任何预兆。
检测闪退原因的方法可以有以下几种:
1、最简单的方法就是逐部分代码注释,缩小问题代码范围,逐渐找出问题的代码。
2、例如外部调试工具打印log,比如ios使用xcode, android使用eclipse或者android studio,
win32使用Virtual Studio等等,这种方法特别适合检测内存大小状态的监视。
3、使用代码打印log,保存在可写路径下,每一个函数模块的开始地方添加函数名或者其他
标记,闪退后可以查看log最后打印的地方,大致知道闪退的函数或者代码段,例如使用lua打印文本log:
local file = io.open(cc.FileUtils:getInstance():getWritablePath().."myLog.txt","w")
print = function(text)
file:write(tostring(text)..'\n')
end
修改print函数,将打印 内容保存在文本。
如果以上方法都没让你找出问题所在,有可能是你使用了协程或者多线程的方式,导致函数出错无法
准确定位,建议试试try catch的方法捕捉异常。
转载请注明出处, from 博客园HemJohn