55

我正在编写一个报告崩溃和相关日志的应用程序。因此,从我的应用程序中,我尝试访问traces.txt和墓碑,但出现错误:

03-25 09:48:46.220 W/System.err(10250): java.io.FileNotFoundException: /data/tombstone/tombstone_00 (Permission denied)

我可以访问traces.txt,但不能访问墓碑。

4

8 回答 8

40

您可以使用位于 your_sd_root_dir/tools 中的 adb 工具。像这样使用它

./adb pull path_to_file location_to_save
于 2011-03-29T05:39:30.937 回答
26

如果你得到“权限被拒绝”,你可以这样做:

adb shell "cp /data/anr/traces.txt /storage/extSdCard/" 
adb pull /storage/extSdCard/traces.txt
于 2015-02-24T11:14:19.250 回答
26

您可以在开发人员选项中捕获完整的错误报告(请参阅Android 文档)。在错误报告的 ZIP 文件中,您可以tombstones找到.anr/FS/data

这将适用于有根和无根设备。

于 2017-12-06T18:27:59.063 回答
14

注意:这仅适用于 android 模拟器和 root 的 android 设备。

您可以先检查文件是否已创建。你可以通过进去来做到这一点

DDMS -> File Explorer -> data -> data -> (Your Package) -> files -> (Your File)

DDMS 位于 Eclipse 的右上角。如果文件不存在于上述路径中,则它没有正确创建,但如果它仍然存在,则在访问文件时相应地更改路径,例如。/data/data/(Your Package)/traces.txt

您还可以将该 traces.txt 文件拉到桌面上。拉选项在 DDMS 下方的顶栏上给出。

于 2011-03-29T05:12:26.280 回答
12

这为我做了: adb pull "/data/anr/traces.txt"

于 2016-06-03T12:36:42.457 回答
8
adb shell "cd /data/anr && cat traces.txt" > anr.txt

这将在您当前设置的目录中复制 anr.txt 中的 traces.txt

于 2017-08-08T07:13:31.297 回答
1

您应该能够通过 DropBoxManager 类 http://developer.android.com/reference/android/os/DropBoxManager.html获取所需的文件

墓碑文件也被复制到保管箱(至少在模拟器上)

于 2013-01-04T16:00:17.800 回答
0

adb shell data/system/Dropbox 然后使用 ls 查看在 Dropbox iinside Dropbox 中生成的文件,你会得到崩溃、anr 和 traces 文件

如果要访问它们,请创建文件夹并在该文件夹中打开 adb 并使用以下命令 adb pull data/system/dropbox

于 2017-03-24T18:37:11.663 回答