如何在三星 S2 中读取“/data/anr/traces.txt”

how to read '/data/anr/traces.txt' in samsung S2

我正在开发一个应用程序,它总是随机崩溃。当它崩溃时,我终于抓住了 logcat。

这是我得到的台词

01-30 01:04:47.281    2856-2856/com.snappext:hascode_process I/System.out﹕ Done
01-30 01:05:02.617    2856-2861/com.snappext:hascode_process I/dalvikvm﹕ threadid=3: reacting to signal 3
01-30 01:05:02.640    2856-2861/com.snappext:hascode_process I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
01-30 01:05:39.304    2750-2752/com.snappext D/dalvikvm﹕ GC_CONCURRENT freed 830K, 14% free 11618K/13383K, paused 1ms+3ms

现在我需要知道如何阅读“/data/anr/traces.txt” 我正在使用三星 S2 进行测试

你可以使用这个cmd

adb pull /data/anr/traces.txt

您需要导航到 android 安装下的 adb 文件夹

如果您使用 Windows:

  1. 打开cmd/终端
  2. cd 到 SDK 文件夹 (see: Find SDK location from Android Studio)

    • Windows: cd c:/android-sdk
    • OSX: cd /Users/<user>/Library/Android/sdk
  3. cd platform-tools

  4. adb pull /data/anr/traces.txt
  5. 检查 c:/android-sdk/platform-tools/traces.txt

在第 4 步中,您可能会遇到一些错误:

  • adb not found in OS X terminal
  • error:more than one device and emulator

您可能会尝试执行 adb shell "ls /data/anr",这将列出该目录中的所有跟踪文件。至少在我的设备上我没有列出 /data 文件夹的权限,但我可以列出 /data/anr

在我的 LG G3 上,尽管消息说它写给 /data/anr/traces.txt,但它实际上会保留几个。可能是 Xamarin/Mono 我正在开发这样做,但我需要的文件实际上是 /data/anr/traces_<PKG_NAME>.txt 其中 <PKG_NAME> 是应用程序的 Android 包,但每个 . 替换为 _(例如:com.my.project -> com_my_project)。

它还保留了其他跟踪文件,大概用于非调试应用程序,格式为 traces00.txttraces01.txt、... traces10.txt。简而言之,该文件夹中没有 'normal' traces.txt 文件,但许多文件以 'traces' 开头并以 '.txt'

结尾