1、使用命令:adb logcat
配置环境变量:
这样就可以输除android手机上的日志信息了。
测试1:
人为制造崩溃
1)递归调用法:
public void Stop()
{
SayHelo();
}
static int i = 0;
public void SayHelo()
{
Debug.LogError("SayHelo" + i++);
SayHelo();
}
如果是mono打包在看不出崩溃的堆栈,递归调用,mono的更容易崩溃些。
而且mono的比较容易崩溃。
死循环:
public void Stop()
{
while (true)
{
}
}
il2cpp和mono的都不崩溃。
空对象也不崩溃:
测试2:
android手机崩溃了,连接pc之后,是可以使用adb logcat > log.log的方式,将其崩溃日志导出的。
但是如果再次启动了程序,则看不到上次崩溃的日志了。
所以如果是测试抛出了崩溃,则及时将手机拿到程序那里,导出日志,然后排查原因。
补充注意点:
1.输出到指定文件:
adb logcat > log.log
这个很有可能会把cache中的数据,输出到文件中,log会很多,所以一般先使用:
2.清除缓冲
adb logcat -c
清除缓存后,再使用:
adb logcat > log.log
这样就保留了本次运行的log了。
3.设置过滤标签
adb logcat -s Unity>log.log
-s Unity会只输出Unity的log