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