android出现段错误时的查找定位的方法_android



android出现段错误时的查找方法,例如出现log:



2196 01-02 12:49:01.090 F/libc    ( 1309): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1388 (SurfaceFlinger)
2197 01-02 12:49:01.210 I/DEBUG ( 1307): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2198 01-02 12:49:01.210 I/DEBUG ( 1307): Build fingerprint: 'Android/4.2/bld.pad-706.b77.tl7689.nusmartQA-user/eng..20140613.152301/dev-keys'
2199 01-02 12:49:01.220 I/DEBUG ( 1307): Revision: '0'
2200 01-02 12:49:01.220 I/DEBUG ( 1307): pid: 1309, tid: 1388, name: SurfaceFlinger >>> /system/bin/surfaceflinger <<<
2201 01-02 12:49:01.220 I/DEBUG ( 1307): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
2202 01-02 12:49:01.250 I/DEBUG ( 1307): r0 40c223c0 r1 00000000 r2 411f8d88 r3 40c223c0
2203 01-02 12:49:01.250 I/DEBUG ( 1307): r4 411f8d40 r5 411f8c88 r6 411f8d50 r7 00000000
2204 01-02 12:49:01.250 I/DEBUG ( 1307): r8 40c1be18 r9 4098ddd8 sl 00000000 fp 40c1be20
2205 01-02 12:49:01.260 I/DEBUG ( 1307): ip ffffffff sp 4098ddb8 lr 00000000 pc 405a9bd8 cpsr 200f0010
2206 01-02 12:49:01.260 I/DEBUG ( 1307): d0 0000000000000000 d1 0000000000000000
2207 01-02 12:49:01.260 I/DEBUG ( 1307): d2 0000000000000000 d3 0000000000000000
2208 01-02 12:49:01.260 I/DEBUG ( 1307): d4 74666f7320797261 d5 79616d2065726177
2209 01-02 12:49:01.260 I/DEBUG ( 1307): d6 6465737520656220 d7 736120796c6e6f20
2210 01-02 12:49:01.260 I/DEBUG ( 1307): d8 0000000000000000 d9 0000000000000000
2211 01-02 12:49:01.260 I/DEBUG ( 1307): d10 0000000000000000 d11 0000000000000000
2212 01-02 12:49:01.260 I/DEBUG ( 1307): d12 0000000000000000 d13 0000000000000000
2213 01-02 12:49:01.260 I/DEBUG ( 1307): d14 0000000000000000 d15 0000000000000000
2214 01-02 12:49:01.260 I/DEBUG ( 1307): d16 01830b3b09000003 d17 0000000000000000
2215 01-02 12:49:01.260 I/DEBUG ( 1307): d18 419e264d78000000 d19 0000000000000000
2216 01-02 12:49:01.260 I/DEBUG ( 1307): d20 0000000000000000 d21 0000000000000000
2217 01-02 12:49:01.260 I/DEBUG ( 1307): d22 0000000000000000 d23 0000000000000000
2218 01-02 12:49:01.260 I/DEBUG ( 1307): d24 0000000000000000 d25 0000000000000000
2219 01-02 12:49:01.260 I/DEBUG ( 1307): d26 0000000000000000 d27 0000000000000000
2220 01-02 12:49:01.260 I/DEBUG ( 1307): d28 0000000000000000 d29 0000000000000000
2221 01-02 12:49:01.260 I/DEBUG ( 1307): d30 0000000000000000 d31 0000000000000000
2222 01-02 12:49:01.260 I/DEBUG ( 1307): scr 00000010
2223 01-02 12:49:01.260 I/DEBUG ( 1307):
2224 01-02 12:49:01.260 I/DEBUG ( 1307): backtrace:
2225 01-02 12:49:01.260 I/DEBUG ( 1307): #00 pc 00071bd8 /system/lib/libMali.so
2226 01-02 12:49:01.260 I/DEBUG ( 1307): #01 pc 00072294 /system/lib/libMali.so (mali_common_ds_consumer_release_ref_count_change+180)
2227 01-02 12:49:01.260 I/DEBUG ( 1307): #02 pc 0007140c /system/lib/libMali.so
2228 01-02 12:49:01.260 I/DEBUG ( 1307): #03 pc 0007af28 /system/lib/libMali.so
2229 01-02 12:49:01.260 I/DEBUG ( 1307): #04 pc 0000e194 /system/lib/libc.so (__thread_entry+332)
2230 01-02 12:49:01.260 I/DEBUG ( 1307): #05 pc 0000dc9c /system/lib/libc.so (pthread_create+172)
2231 01-02 12:49:01.260 I/DEBUG ( 1307):
2232 01-02 12:49:01.260 I/DEBUG ( 1307): stack:
2233 01-02 12:49:01.260 I/DEBUG ( 1307): 4098dd78 411df348 [heap]
2234 01-02 12:49:01.270 I/DEBUG ( 1307): 4098dd7c 405b187c /system/lib/libMali.so
2235 01-02 12:49:01.270 I/DEBUG ( 1307): 4098dd80 00000001
2236 01-02 12:49:01.270 I/DEBUG ( 1307): 4098dd84 411df298 [heap]


需要查看哪出的问题,需要用一个工具来定位,如下方法:



arm-linux-androideabi-addr2line -e out/target/product/nusmart7_pad/symbols/system/lib/libMali.so 00072294


 

完。