关于那个android sigsegv的问题

来源:互联网 发布:阿里云网站接入 编辑:程序博客网 时间:2024/05/16 12:35

原本打算用调试器搞定这个的。无奈android编译的gdbserver不好使。自己编译的在多线程上也是废的。

纠结了一天。打算搜搜android sigsegv。一搜网上还真多这个问题。

看到了下面这篇文章:http://blog.csdn.net/liangshengyang/archive/2010/09/21/5900083.aspx

原来那个logcat的输出是很有用的,原来自己没有在意,不知道它是什么。

 

I/DEBUG   ( 1307): Build fingerprint: 'generic/generic/generic/:2.2.1/MASTER/eng.ll.20110412.135517:eng/test-keys'
I/DEBUG   ( 1307): pid: 1570, tid: 1575  >>> /system/bin/mediaserver <<<
I/DEBUG   ( 1307): signal 11 (SIGSEGV), fault addr afb1d8c0
I/DEBUG   ( 1307):  r0 77eefc0a  r1 c018950f  r2 80000000  r3 00171547
I/DEBUG   ( 1307):  r4 60000000  r5 c0110a04  r6 00000001  r7 015532c8
I/DEBUG   ( 1307):  r8 afb200a8  r9 a811b865  10 afb1d8a0  fp afb1d898
I/DEBUG   ( 1307):  ip ffffd7f0  sp 4081cc60  lr a4917000  pc afb06558  cpsr 00000010
I/DEBUG   ( 1307):          #00  pc 00006558 a /system/lib/libm.so
I/DEBUG   ( 1307):          #01  pc 0002cd86  /system/lib/libmedia.so
I/DEBUG   ( 1307):          #02  pc 0002a48c  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #03  pc 0002a086  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #04  pc 0002a204  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #05  pc 00027ed2  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #06  pc 0003832e  /system/lib/libmedia.so
I/DEBUG   ( 1307):          #07  pc 000266ba  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #08  pc 000132dc  /system/lib/libbinder.so
I/DEBUG   ( 1307):          #09  pc 0001652c  /system/lib/libbinder.so
I/DEBUG   ( 1307):          #10  pc 00016700  /system/lib/libbinder.so
I/DEBUG   ( 1307):          #11  pc 0001bf08  /system/lib/libbinder.so
I/DEBUG   ( 1307):          #12  pc 0001b474  /system/lib/libutils.so
I/DEBUG   ( 1307):          #13  pc 0001b8ca  /system/lib/libutils.so
I/DEBUG   ( 1307):          #14  pc 0001103c  /system/lib/libc.so
I/DEBUG   ( 1307):          #15  pc 00010b20  /system/lib/libc.so
I/DEBUG   ( 1307):
I/DEBUG   ( 1307): code around pc:
I/DEBUG   ( 1307): afb06538 e59f2208 e59f3208 e1a00004 e1a01005
I/DEBUG   ( 1307): afb06548 ebffee89 e59fc1fc e088b00c e08ba186
I/DEBUG   ( 1307): afb06558 e1ca22d0 ebffee90 ebffeeb0 e1a06000
I/DEBUG   ( 1307): afb06568 ebffeea2 e3a0232e e1a02342 e59f31d8
I/DEBUG   ( 1307): afb06578 e1a08000 e1a09001 ebffee7b e1a02000
I/DEBUG   ( 1307):
I/DEBUG   ( 1307): code around lr:
I/DEBUG   ( 1307): a4916fe0 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   ( 1307): a4916ff0 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   ( 1307): a4917000 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   ( 1307): a4917010 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   ( 1307): a4917020 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   ( 1307):
I/DEBUG   ( 1307): stack:
I/DEBUG   ( 1307):     4081cc20  00000000 
I/DEBUG   ( 1307):     4081cc24  c0000001 
I/DEBUG   ( 1307):     4081cc28  a8216155  /system/lib/libbinder.so
I/DEBUG   ( 1307):     4081cc2c  015557c0  [heap]
I/DEBUG   ( 1307):     4081cc30  00000000 
I/DEBUG   ( 1307):     4081cc34  01555b30  [heap]
I/DEBUG   ( 1307):     4081cc38  000000a8 
I/DEBUG   ( 1307):     4081cc3c  000000f0 
I/DEBUG   ( 1307):     4081cc40  000000a8 
I/DEBUG   ( 1307):     4081cc44  00000000 
I/DEBUG   ( 1307):     4081cc48  01554e28  [heap]
I/DEBUG   ( 1307):     4081cc4c  a8113c51  /system/lib/libutils.so
I/DEBUG   ( 1307):     4081cc50  60000000 
I/DEBUG   ( 1307):     4081cc54  c0110a04 
I/DEBUG   ( 1307):     4081cc58  df002777 
I/DEBUG   ( 1307):     4081cc5c  e3a070ad 
I/DEBUG   ( 1307): #00 4081cc60  01554d58  [heap]
I/DEBUG   ( 1307):     4081cc64  4081cc88 
I/DEBUG   ( 1307):     4081cc68  00000014 
I/DEBUG   ( 1307):     4081cc6c  a905cb70  /system/lib/libmedia.so
I/DEBUG   ( 1307):     4081cc70  01553198  [heap]
I/DEBUG   ( 1307):     4081cc74  0000000f 
I/DEBUG   ( 1307):     4081cc78  015532c8  [heap]
I/DEBUG   ( 1307):     4081cc7c  00100000 
I/DEBUG   ( 1307):     4081cc80  a811b865  /system/lib/libutils.so
I/DEBUG   ( 1307):     4081cc84  4071d000 
I/DEBUG   ( 1307):     4081cc88  01554dc0  [heap]
I/DEBUG   ( 1307):     4081cc8c  a902cd89  /system/lib/libmedia.so
I/DEBUG   ( 1307): #01 4081cc90  00000008 
I/DEBUG   ( 1307):     4081cc94  a8d2a48f  /system/lib/libaudioflinger.so

 

 

I/DEBUG   ( 1307):          #00  pc 00006558(这个是在二进程文件中的地址,没有包含加载地址了) a /system/lib/libm.so
I/DEBUG   ( 1307):          #01  pc 0002cd86  /system/lib/libmedia.so
I/DEBUG   ( 1307):          #02  pc 0002a48c  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #03  pc 0002a086  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #04  pc 0002a204  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #05  pc 00027ed2  /system/lib/libaudioflinger.so
I/DEBUG   ( 1307):          #06  pc 0003832e  /system/lib/libmedia.so

这些就是调用堆栈。那个最上面的就是程序出错的地方,就是libm.so里出了错。靠,我还用调试器找到是libm.so。还想找出错的地址。见那篇文章中的方法。

 

src/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-addr2line -f -e src/out/target/product/pnx6715_refd/symbols/system/lib/libfmradio_jni.so 0000960c 000129ec 0000cdce 0000b2a4 00009496 00008258 000054f6

原创粉丝点击