android中的默认逻辑删除位置

时间:2015-01-23 07:35:05

标签: android adb android-logcat

我正在编写一个应用程序来捕获逻辑删除日志。

如何在任何Android设备中获取逻辑删除日志的默认位置? 即使墓碑日志还没有,当发生任何崩溃或其他事情时,它们会在哪里存储? AFAIK这些日志保存在' / data / tombstones /'但这条路径是否适用于所有设备? 我是否需要从" adb shell getprop"中读取一些属性?动态代码中的等等?

4 个答案:

答案 0 :(得分:3)

不是说未来不能改变(当然,如果他们愿意,任何供应商都可以修改这个开源代码),但是墓碑文件是由debuggerd engrave_tombstone()编写的。在tombstone.cpp(以前为tombstone.c)中实施的功能:

这使用宏使用硬编码路径:

#define TOMBSTONE_DIR "/data/tombstones"

即使是Android的Java端也使用硬编码路径:

似乎使用/data/tombstones至少回到Android 1.6 Donut's debuggerd

答案 1 :(得分:3)

如果你还没有root你的设备,你应该使用bugreport adb命令:

adb bugreport ./bugreport.zip

在 zip 中,您将拥有分析所需的一切。

为了拆解墓碑:

  1. 获取 AOSP 源代码并按照 https://source.android.com/setup/start 的说明进行操作,直到 lunch 命令。

  2. 运行命令(用兴趣文件替换 tombstone_01):

disassemble_tombstone.py ./bugreport/FS/data/tombstones/tombstone_01

更多工具可以调试 https://source.android.com/devices/tech/debug 中的 bugreport.zip

答案 2 :(得分:0)

这条道路不是普遍的,事实上这不是我很久以来见过的。通常,当出现墓碑时,您会在logcat中获得一行说明日志的位置。否则你需要四处寻找。

答案 3 :(得分:0)

您可以在“adb shell”的“/”目录下运行命令以找到特定设备的逻辑删除位置。

find . |grep tombs