3

Android アプリケーションのネイティブ コードで発生したクラッシュのクラッシュ ダンプを収集し、デスクトップ マシンでそのクラッシュ ダンプをシンボル化する良い方法はありますか。

Google ブレークパッドの統合を試み、クラッシュ ダンプの収集に成功しました。次に、クラッシュ スタック トレースのシンボル化を試みましたが、あまり役に立ちませんでした。シンボル化されたクラッシュ スタックで利用できるファイル名と行番号の情報はありません。

記号化された部分出力は次のようになります。

Operating system: Android
                  0.0.0 Linux 3.4.5-923538 #1 SMP PREEMPT Wed Mar 5 16:20:36 KST 2014 armv7l
CPU: arm
     ARMv7 ARM part(0x4100c070) features: swp,half,thumb,fastmult,vfpv2,edsp,neon,vfpv3,tls,vfpv4,idiva,idivt
     4 CPUs

Crash reason:  SIGSEGV
Crash address: 0x0

Thread 0 (crashed)
 0  libctest.so + 0x16dc
     r0 = 0x417bba60    r1 = 0x65600019    r2 = 0x00000001    r3 = 0x00000000
     r4 = 0x6db6bc18    r5 = 0x417bbfd8    r6 = 0x00000000    r7 = 0x6d753cd4
     r8 = 0xbee580f8    r9 = 0x6d753ccc   r10 = 0x417bbfe8   r12 = 0x738c76d9
     fp = 0xbee5810c    sp = 0xbee580f8    lr = 0x417de850    pc = 0x738c76dc
    Found by: given as instruction pointer in context
 1  dalvik-heap (deleted) + 0x134346
     sp = 0xbee58108    pc = 0x42ba5348
    Found by: stack scanning
 2  libdvm.so + 0x4f28d
     sp = 0xbee58110    pc = 0x4180f28f
    Found by: stack scanning
 3  data@app@com.example.ctest-3.apk@classes.dex + 0x9a3d1
     sp = 0xbee58118    pc = 0x778443d3
    Found by: stack scanning
 4  libctest.so + 0x16d7
     sp = 0xbee5811c    pc = 0x738c76d9
    Found by: stack scanning
 5  dalvik-mark-stack (deleted) + 0x2d61017
     sp = 0xbee5812c    pc = 0x65600019
    Found by: stack scanning
 6  core.odex + 0x7b6c8
     sp = 0xbee58134    pc = 0x6e7d96ca

欠けているものはありますか?

4

1 に答える 1

1

libctest.so のシンボルをダンプしましたか? Breakpad wikiのLinux スターター ガイドには、これを行う方法に関する情報があります。minidump_stackwalk が使用するシンボルを提供しない場合、使用可能なスタックを提供できません。

于 2014-08-14T20:01:47.410 に答える