有没有一种好方法可以收集在 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
有什么遗漏吗?