25

デバイスでAndroidカスタムROMを使用しており、カスタムboot.img(カスタムカーネル+コマンドライン+ ramdisk)も使用しています。カーネルパニックの直後にカーネルログを表示できるようにしたいのですが、残念ながらシリアルコンソールを使用できません。

良いニュース:AndroidのLinuxカーネルには、まさにこの目的のために書かれたソース/モジュールがいくつかあるようです。たとえば、カーネルの.configファイルで次の行がアクティブ化されます。

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

私の問題は次のとおりです。これをテストするためにカーネルパニックを強制した後、つまり、で単純なパニックカーネルモジュールをロードした後、 oem_log(デバイスに存在する)insmod panic.koという名前のMTDにログが書き込まれなかったようです。次に、RAMはクリアされているように見えるため、再起動後もログが含まれていません。または、ログも書き込まれていません。

では、パニックの後にカーネルログを取得するにはどうすればよいですか?また、実行中のシステムでAPANICをテストする方法があれば役に立ちます。たぶん、カーネルデバッグシステムを使用することによって?今のところ、私はこれにかなり慣れていません。

助けてくれてありがとう!

4

5 に答える 5

27

私としては、

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

だから、少なくとも試すことができます。GalaxyNexusでLinux3.0.31-g4f6d371を使用しています。

于 2012-11-12T15:04:02.263 に答える
17

Android-7.0以降では、last_kmesgログは/ sys / fs / pstore / console-ramoopsに移動されるため、次のことを試してください。

cat /sys/fs/pstore/console-ramoops

それはネクサスで私のためにうまく機能します-5x

于 2017-11-02T05:07:33.193 に答える
9

/data/dontpanicフォルダはどうですか?カーネルパニックが発生した後、USBケーブルをAndroidデバイスに接続し、を介してそのフォルダー内のファイルを確認できますADB

apanicカーネルパニックが発生した後、このフォルダーにいくつかのファイルが含まれていることがわかりました。たとえば、カーネルパニックが発生したばかりで、フォルダを確認すると、次の2つのファイルが見つかる可能性があります。

apanic_console

apanic_threads

apanic_threadsカーネルパニックが発生したときに、どのスレッド/プロセスが実行されているかを確認できます。で、スタックトレースやいくつapanic_consoleかの重要なレジスタの値などの詳細情報を見つけることができます:PCLRなど。
これらは、デバッグを開始するのに役立ちます。

于 2012-05-09T22:30:34.307 に答える
3

AndroidはRAMコンソールを作成し、最後のカーネルメッセージバッファをRAMに保存しようとします(電源が切れないことを前提としています)。このファイルにはprocインターフェースを介してアクセスでき、私のシステムでは誰でも読み取り可能です。

cat /proc/last_kmsg

詳細については、カーネルコード@ drivers / staging / android/ram_console.cを参照してください。

于 2013-05-13T19:17:38.237 に答える
1

Androidでシャットダウンログを収集するという同様の問題に直面しました。私はずっと前にこの質問を投稿しました、そしてそれは2つのアプローチを持っています。1つ目はうまくいかないので、2つ目を使用します。ここに質問があります

Androidはシャットダウンログをどこに保存しますか?

お役に立てれば。

于 2012-03-14T17:31:34.630 に答える