tombstone 信息解析

tombstone 信息解析

以下是发生crash后保存下载的一段log,backtrace 保存了发生crash的过程。通过解析能确定发生crash的代码位置

01-01 09:43:47.506 669 2711 I CameraSource: zlq state
--------- beginning of crash
01-01 09:43:47.506 669 2711 F libc : Fatal signal 11 (SIGSEGV), code 1, 
fault addr 0x0 in tid 2711 (Binder_5)


01-01 09:43:47.562 665 665 F DEBUG : *** *** *** *** *** *** *** *** *** 
*** *** *** *** *** *** ***
01-01 09:43:47.563 665 665 F DEBUG : Revision: '0'
01-01 09:43:47.563 665 665 F DEBUG : ABI: 'arm'
01-01 09:43:47.563 665 665 E DEBUG : AM write failed: Broken pipe
01-01 09:43:47.563 665 665 F DEBUG : pid: 669, tid: 2711, name: Binder_5 
 >>> /system/bin/mediaserver <<<
01-01 09:43:47.564 665 665 F DEBUG : signal 11 (SIGSEGV), code 1 
(SEGV_MAPERR), fault addr 0x0
01-01 09:43:47.591 665 665 F DEBUG : r0 00000000 r1 e1bb61d8 r2 c900b927 
r3 c900b927
01-01 09:43:47.591 665 665 F DEBUG : r4 e1bb6788 r5 e1bb6724 r6 00000000 
r7 f6f6bc58
01-01 09:43:47.592 665 665 F DEBUG : r8 f6f38f9a r9 f67ad2c8 sl 33a15313 
fp 00000000
01-01 09:43:47.592 665 665 F DEBUG : ip f6f6bd8c sp e1bb6720 lr f6e8e74f 
pc f73419a6 cpsr 600f0030
01-01 09:43:47.597 665 665 F DEBUG :
01-01 09:43:47.597 665 665 F DEBUG : backtrace:
01-01 09:43:47.597 665 665 F DEBUG : #00 pc 0001d9a6 /system/lib/libbinder.so (_ZNK7android7IMemory7pointerEv+3)
01-01 09:43:47.597 665 665 F DEBUG : #01 pc 0008c74b /system/lib/libstagefright.so 
(_ZN7android12CameraSource21dataCallbackTimestampExiRKNS_2spINS_7IMemoryEEE+330)
01-01 09:43:47.598 665 665 F DEBUG : #02 pc 0001eb7f /system/lib/libcamera_client.so 
(_ZN7android30BnCameraRecordingProxyListener10onTransactEjRKNS_6ParcelEPS1_j+98)
01-01 09:43:47.598 665 665 F DEBUG : #03 pc 000199c9 /system/lib/libbinder.so 
(_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+60)
01-01 09:43:47.598 665 665 F DEBUG : #04 pc 0001ed5b /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+550)
01-01 09:43:47.598 665 665 F DEBUG : #05 pc 0001eec5 /system/lib/libbinder.so 
(_ZN7android14IPCThreadState20getAndExecuteCommandEv+64)
01-01 09:43:47.598 665 665 F DEBUG : #06 pc 0001ef29 /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
01-01 09:43:47.598 665 665 F DEBUG : #07 pc 000239f9 /system/lib/libbinder.so
01-01 09:43:47.599 665 665 F DEBUG : #08 pc 0001011d /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
01-01 09:43:47.599 665 665 F DEBUG : #09 pc 0003fa43 /system/lib/libc.so 
(_ZL15__pthread_startPv+30)
01-01 09:43:47.599 665 665 F DEBUG : #10 pc 00019fd5 /system/lib/libc.so 
(__start_thread+6)

backtrace 中的#00到#xx是具体调用过程,从#xx到#00。#00是最接近crash的地方。

解析命令: #00 pc 0001d9a6 /system/lib/libbinder.so

addr2line 0001d9a6 -e out/target/product/xxx/symbols/system/lib/libbinder.so

结果:
/home/zhouliquan/work/xxx/android/frameworks/native/libs/binder/IMemory.cpp:149

直接使用 out/../system/lib/libbinder.so 有时会返回“?”,并不能明确发生问题的地方。symbols中的文件带有符号表,能正确解析。

posted @ 2017-11-09 17:53  蓬蒿人Zlq  阅读(784)  评论(0编辑  收藏  举报