我的程序一直崩溃,但logcat没有显示任何异常。我只得到以下信息以及有关CPU使用情况的许多统计信息。显然我正在使用过多的CPU,但我不知道我的程序的哪一部分在做这件事。下面的文件在哪里?我找不到它。
12-30 23:13:06.639: INFO/dalvikvm(7688): 将堆栈跟踪写入'/data/anr/traces.txt'
我的程序一直崩溃,但logcat没有显示任何异常。我只得到以下信息以及有关CPU使用情况的许多统计信息。显然我正在使用过多的CPU,但我不知道我的程序的哪一部分在做这件事。下面的文件在哪里?我找不到它。
12-30 23:13:06.639: INFO/dalvikvm(7688): 将堆栈跟踪写入'/data/anr/traces.txt'
adb shell
-->
cat /data/anr/traces.txt
编辑:
你需要root访问权限才能修改/data/中的文件,你应该可以使用像https://market.android.com/details?id=com.estrongs.android.pop这样的应用程序访问该文件。
一旦你拥有了那个应用程序,打开它-->菜单-->设置-->主目录(从/sdcard/
更改为/
)-->退出应用程序-->再次打开它。
然后你就能够浏览到/data/anr/*。
编辑2(根据评论提供的额外信息)适用于发布的应用程序在实际测试中:
大多数开发者依赖开发者控制台错误报告来查看堆栈跟踪和错误日志,当用户提交错误报告时。
其他人则实现自己的错误报告系统或使用类库,如ACRA。
请注意,有些用户不会安装某个应用程序,仅仅是因为它使用了读取敏感日志数据的权限。
为了舒适地查看文件而不会出现截断的头部,请使用以下一行命令:
adb shell“cat /data/anr/traces.txt”| less
如果你正在使用带有 Android Studio
的 Windows
操作系统,你可以执行以下操作:
在 Android Studio 中:
View > Tool Windows > Device File Explorer
这应该会打开一个新窗口,里面显示设备上的所有文件(包括您的堆栈跟踪所在的位置),然后您可以导航到“/data/anr/traces.txt”,双击文件即可打开。
cat /data/anr/traces.txt
... 最终应该能够在Linux上运行,也适用于Android... - evotopid