首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

addr2line 定位so崩溃位置解决办法

2013-02-25 
addr2line 定位so崩溃位置02-04 15:17:30.830: I/XCEngine(24736): 02-04 15:17:30.830: W/XCEngine(2473

addr2line 定位so崩溃位置

02-04 15:17:30.830: I/XCEngine(24736): ;
02-04 15:17:30.830: W/XCEngine(24736): [WARN]CUIWindowMgr::scCmdRecvData - open window(client request) with json
02-04 15:17:30.860: A/libc(24736): Fatal signal 11 (SIGSEGV) at 0xfffffffc (code=1)
02-04 15:17:31.180: V/AudioHardwareMSM8660(134): AudioStreamOutMSM72xx::write(0x14af918, 4800) dev = speaker_stereo_rx
02-04 15:17:31.380: I/DEBUG(24552): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-04 15:17:31.380: I/DEBUG(24552): Build fingerprint: 'Xiaomi/mione_plus/mione_plus:4.0.4/IMM76D/2.10.19:user/release-keys'
02-04 15:17:31.380: I/DEBUG(24552): pid: 24736, tid: 24760  >>> proj.syjt <<<
02-04 15:17:31.380: I/DEBUG(24552): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr fffffffc
02-04 15:17:31.380: I/DEBUG(24552):  r0 fffffffc  r1 ffffffff  r2 02dda138  r3 fffffff4
02-04 15:17:31.380: I/DEBUG(24552):  r4 fffffff4  r5 fffffffc  r6 ffff0fc0  r7 ffffffff
02-04 15:17:31.380: I/DEBUG(24552):  r8 01721650  r9 017216dc  10 40106638  fp 5bb7ec24
02-04 15:17:31.380: I/DEBUG(24552):  ip ffe53708  sp 5bb7e748  lr 5cf69c1b  pc 5ce8eb10  cpsr 80000010
02-04 15:17:31.380: I/DEBUG(24552):  d0  0000000000000000  d1  0000000000000000
02-04 15:17:31.380: I/DEBUG(24552):  d2  0000000000000000  d3  0000000000000000
02-04 15:17:31.380: I/DEBUG(24552):  d4  746c02e3e440f4e4  d5  8080e2e4e47c7501
02-04 15:17:31.390: I/DEBUG(24552):  d6  02e3e4d8e48c8183  d7  e0e4e46c5c017157
02-04 15:17:31.390: I/DEBUG(24552):  d8  0000000000000000  d9  0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  d10 0000000000000000  d11 0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  d12 0000000000000000  d13 0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  d14 0000000000000000  d15 0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  d16 f4e4e4e4e4d4cbd4  d17 7501746c02e3e441
02-04 15:17:31.390: I/DEBUG(24552):  d18 838a8b83ece4e47c  d19 02e3e4d8e47c6c02
02-04 15:17:31.390: I/DEBUG(24552):  d20 e0e4e46c5c017157  d21 f4e4e4e4e4d4cbd4
02-04 15:17:31.390: I/DEBUG(24552):  d22 7501746c02e3e442  d23 536b01d5e1e4e47c
02-04 15:17:31.390: I/DEBUG(24552):  d24 01d401d301d201d1  d25 01d801d701d601d5
02-04 15:17:31.390: I/DEBUG(24552):  d26 0000000000000000  d27 0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  d28 01ac01ab01aa01a9  d29 01b001af01ae01ad
02-04 15:17:31.390: I/DEBUG(24552):  d30 01d801d801d801d8  d31 0000000000000000
02-04 15:17:31.390: I/DEBUG(24552):  scr 20000012
02-04 15:17:31.520: I/DEBUG(24552):          #00  pc 5ce8eb10  /data/data/proj.syjt/app_libs/libsyjt.so


02-04 15:17:31.520: I/DEBUG(24552):          #01  lr 5cf69c1b  /data/data/proj.syjt/app_libs/libsyjt.so
02-04 15:17:31.520: I/DEBUG(24552): code around pc:
02-04 15:17:31.520: I/DEBUG(24552): 5ce8eaf0 e0562002 e0c73003 e1cc20f0 e8bd80f8  . V..0... ......
02-04 15:17:31.520: I/DEBUG(24552): 5ce8eb00 e92d40f8 e59f6028 e1a05000 e1a07001  .@-.(`...P...p..
02-04 15:17:31.520: I/DEBUG(24552): 5ce8eb10 e5954000 e1a02005 e1a00004 e0841007  .@... ..........
02-04 15:17:31.520: I/DEBUG(24552): 5ce8eb20 e12fff36 e3500000 1afffff8 e1a00004  6./...P.........
02-04 15:17:31.520: I/DEBUG(24552): 5ce8eb30 e8bd80f8 ffff0fc0 e92d40f8 e59f6028  .........@-.(`..
02-04 15:17:31.520: I/DEBUG(24552): code around lr:
02-04 15:17:31.520: I/DEBUG(24552): 5cf69bf8 fffffc9c 60012300 60830049 81831840  .....#.`I..`@...
02-04 15:17:31.520: I/DEBUG(24552): 5cf69c08 46c04770 2101b510 42491c04 f0d13008  pG.F...!..IB.0..
02-04 15:17:31.520: I/DEBUG(24552): 5cf69c18 2800fbe7 1c20dc02 fb92f0d1 46c0bd10  ...(.. ........F
02-04 15:17:31.520: I/DEBUG(24552): 5cf69c28 4b05b508 447b4a05 4298589b bd08d100  ...K.J{D.X.B....
02-04 15:17:31.520: I/DEBUG(24552): 5cf69c38 ffe8f7ff 46c0e7fb 002ad5ca fffffca0  .......F..*.....
02-04 15:17:31.520: I/DEBUG(24552): memory map around addr fffffffc:
02-04 15:17:31.520: I/DEBUG(24552): ffff0000-ffff1000 [vectors]
02-04 15:17:31.520: I/DEBUG(24552): (no map for address)
02-04 15:17:31.520: I/DEBUG(24552): (no map above)
02-04 15:17:31.520: I/DEBUG(24552): stack:
02-04 15:17:31.520: I/DEBUG(24552):     5bb7e708  02e1556a  [heap]

每次不同地方崩溃(不下十次),我用addr2line -C -f -e obj/local/armeabi/libsyjt.so 5ce8eb10 定位错误都显示
??
??:0



是不是5ce8eb10地址应该 减去 基地址 然后才是真正的地址啊?这个基地址用什么命令可以显示? jni addr2line?
[解决办法]
你都说是一个so动态库了,怎么可能通过一个地址能够得到具体代码的行数呢
动态库每次加载到不同的地址,你这么作是不行的
最简单的做法就是,如果有工作正常的版本,看因为啥改动成了这样
如果不行,只能用gdb之类的调试了吧,不过我没做过
[解决办法]
libsyjt.so 这个库如果是带符号表的, 那用addr2line 就可以定位行号, 你显示 ?? 因为已经把符号表删掉了, 那样库的size会小点。
含符号表的lib, 编译后会放到out/target/product/<Your product name>/symbols/system/lib
[解决办法]
有个工具叫 stack ,专门分析这种的。
使用方法也很简单,前提是你要有这个版本的编译环境和symbol即可,如果需要楼主给我留邮箱我发给你。

热点排行