gpt4 book ai didi

Android:内核崩溃后如何获取内核日志?

转载 作者:IT老高 更新时间:2023-10-28 22:20:56 25 4
gpt4 key购买 nike

我在我的设备上使用 Android 自定义 ROM,还带有自定义 boot.img(自定义内核 + cmdline + ramdisk)。我现在希望能够在内核崩溃后立即查看内核日志,但不幸的是我无法使用串行控制台。

好消息:Android 的 Linux 内核中似乎有一些源代码/模块正是为此目的而编写的。例如,以下行在我的内核的 .config 文件中被激活:

CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
CONFIG_APANIC=y
CONFIG_APANIC_PLABEL="oem_log"

我的问题是:在我为了测试而强制内核 panic 之后,即通过使用 insmod panic.ko 加载一个简单的 panic 内核模块,似乎没有日志写入 MTD命名为 oem_log(存在于我的设备上)。其次,RAM 在重新启动后也不包含日志,因为它似乎已被清除 - 或者日志也没有写入。

那么如何在 panic 后获取内核日志呢?如果有一种方法可以在正在运行的系统上测试 APANIC,那也会很有帮助。也许通过使用内核调试系统?到目前为止,我对此还很陌生。

提前感谢您的帮助!

最佳答案

对于我来说,

cat /proc/last_kmsg 

重启后(由 insmod 期间的内核崩溃引起)确实会列出与崩溃相关的消息,例如

[  424.909515] Kernel panic - not syncing: Fatal exception
[ 424.909606] Backtrace:
[ 424.909790] [<c005a5ec>] (dump_backtrace+0x0/0x10c) from [<c05f38dc>] (dump_stack+0x18/0x1c)
[ 424.909973] r6:c5cccf00 r5:00000000 r4:c08505a0 r3:00000000

所以你至少可以试试。我正在 Galaxy Nexus 上使用 Linux 3.0.31-g4f6d371。

关于Android:内核崩溃后如何获取内核日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9682306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com