本机崩溃收集和符号化

时间:2014-07-28 10:26:51

标签: android google-breakpad

是否有一种很好的方法来收集崩溃转储,以便在Android应用程序的本机代码中发生崩溃,然后在桌面计算机上表示崩溃转储。

尝试整合google breakpad并成功收集崩溃转储。然后尝试象征崩溃堆栈跟踪,但它没那么有用。在符号化的崩溃堆栈中没有可用的名称和行号信息。

符号化的部分输出如下:

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

是否有遗漏的东西?

1 个答案:

答案 0 :(得分:1)

您是否为libctest.so转储了符号? Breakpad wiki上的Linux Starter Guide包含有关如何执行此操作的信息。如果您没有为minidump_stackwalk提供符号,那么它就无法为您提供可用的堆栈。

相关问题