Unity での Android クラッシュ ログ処理レコード

1: 問題が発生したデバイスが手元にある場合は、ADB コマンドを使用して電話機に接続し、問題が発生したときのデバイスのログを取得できます。

adb.exe は (SDK\platform-tools) にあり、環境変数 PATH に追加して使用することもできます。

cmd コマンド ラインを使用してデバイスに接続します。

adb connect 127.0.0.1:5555 (IP アドレス: ポート番号は通常 5554 または 5555)

デバイスのすべてのログと現在のログを取得します: adb logcat -v time > d:\myLog.txt ctrl+c で取得を停止します。

一定時間後のログを取得します: adb logcat -t "2023-6-30 09:10:00.001" >d:/logs/aa.txt

ログをパソコンに出力可能

2: firebase.Crashlytics に接続すると、アプリ起動後にクラッシュや ANR のスタック情報を受け取ることができます。

Unity をパッケージ化するときは、[BuildSettings]->[CreateSymbols.zip Debugging] または [Public] を選択して、シンボル ファイルを取得する必要があります。Crashlytics でスタック情報が取得されると、ツールを使用してスタックの特定の機能を表示できます。情報。

例: スタック情報:

#00 pc 0x22af08 libunity.so (libunity.0x22af08) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#01 pc 0x33b5d9 libunity.so (libunity.0x33b5d9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#02 pc 0x3f4a1f libunity.so (libunity.0x3f4a1f) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#03 pc 0x3f510d libunity.so (libunity.0x3f510d) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#04 pc 0x28d8a7 libunity.so (libunity.0x28d8a7) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#05 pc 0x28d8c9 libunity.so (libunity.0x28d8c9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#06 pc 0x28da5b libunity.so (libunity.0x28da5b) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#07 pc 0x3a9cab libunity.so (libunity.0x3a9cab) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#08 pc 0x3b91a5 libunity.so (libunity.0x3b91a5) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#09 pc 0x2a82941 base.odex (base.0x2a82941)

その後、NDK ツールを通じて特定の関数に解析できます。

スタック ログを表示します。

32ビット:

D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin

コマンド:arm-linux-androideabi-addr2line -f -C -e .\symbols\armeabi-v7a\ libunity.so 0x3b91a5

64ビット:

D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin

例:aarch64-linux-android-addr2line -f -C -e .\symbols\armeabi-v7a\ libunity.so 0xbd1e44

実際、Google では、解析中にわかりやすいログを直接取得できるように、シンボル ファイルをアップロードする機能を提供しています。

Guess you like

Origin blog.csdn.net/qq_33347809/article/details/131490040