读取 Android 设备内核日志的方法

如果是 Android 开发板,可以通过串口直接读取内核日志。

对于普通 Android 设备,可以在终端中执行 cat /proc/kmsg 命令获取内核日志。
当设备由于内核故障无法正常启动时,可以通过以下方式获取日志:

  • 重启设备到一个可以正常运行的系统,这里通常指设备的 recovery ,推荐 TWRP 。
  • Linux 内核版本 ≤ 3.4 :
    可以通过在终端执行 cat /proc/last_kmsg 获取日志。

如果无法找到文件,请确保在内核配置中设置了以下配置:

CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
  • Linux 内核版本 > 3.4 :
    可以通过在终端执行 cat /sys/fs/pstore/console-ramoops 获取日志。该文件的名称可能略有不同,但将在此目录中。

如果您无法找到这些文件,请确保在内核配置中设置了以下配置:

CONFIG_PSTORE=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_RAM=y
  • 可以通过执行以下命令手动触发内核 panic :
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger

参考资料: http://docs.halium.org/en/latest/porting/debug-build/dmesg.html

猜你喜欢

转载自www.cnblogs.com/smnet/p/10076645.html