line 的line定位在哪里功能怎么使用(最好有图哈)

6105人阅读
这段时间经常遇到crash 的问题,这里来说说怎么使用addr2line 命令来定位问题。
1. 获取tombstone log
当系统出现crash的时候,我们可以从/data/tombstones/目录中取出tombstone log, 之后查看他的内容, 例如有如下log:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: '35Phone/msm8660_surf/msm8660_surf:4.0.4/IMM76I/eng..704:eng/test-keys'
pid: 140, tid: 21500& &&& /system/bin/rild &&&
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
&r0 & r1 402a2b57& r2 e4d2d250& r3
&r4 4054fbec& r5 & r6 002b3568& r7
&r8 402ae84d& r9 002b00000& fp
&ip 4054fbfc& sp 411f3620& lr 403978db& pc 4035539a& cpsr
&d0& 6d715f6c& d1& e5f69
&d2& e695f& d3& 745f666f5f656369
&d4& 0000& d5& 0000
&d6& 0000& d7& 0000
&d8& 0000& d9& 0000
&d10 0000& d11 0000
&d12 0000& d13 0000
&d14 0000& d15 0000
&d16 6203a& d17 06e6f
&d18 0000& d19 0000
&d20 0000& d21 0000
&d22 0000& d23 0000
&d24 0000& d25 0000
&d26 0000& d27 0000
&d28 0000& d29 0000
&d30 0000& d31 0000
&&&&&&&& #00& pc 000de39a& /system/lib/libril-qc-qmi-1.so
&&&&&&&& #01& pc 000f12a8& /system/lib/libril-qc-qmi-1.so (qcril_qmi_nas_request_operator)
&&&&&&&& #02& pc & /system/lib/libril-qc-qmi-1.so
&&&&&&&& #03& pc 00037bc2& /system/lib/libril-qc-qmi-1.so
&&&&&&&& #04& pc 0001327c& /system/lib/libc.so (__thread_entry)
&&&&&&&& #05& pc 00012dd0& /system/lib/libc.so (pthread_create)
.... .....
.... .....
从以上红色部分,我们知道需要找到对应的libril-qc-qmi-1.so ,libc.so。
2.获取对应的*.so
系统编译的时候,这些*.so被放置于out/target/product/your_pro_name/system/lib”目录下,对应在out/target/product/your_pro_name/symbols/system/lib也有一个。这里需要分析的是“out/target/product/your_pro_name/symbols/system/lib”目录下的so,因为这个目录中带有对应的符号信息,您可以比较一下他们的大小就知道了。
3.使用addr2line 定位
在不同的android 平台上,该addr2line命令的位置和名称有些区别。例如在android 2.3 中该命令的位置和名称: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-addr2line, 但是在android 4.0 中则对应的位置为:prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-addr2line
现在就以android 4.0 为例来讲述:
1)切换到android源码root 目录
例如 : android_source#
2)使用命令定位
android_source# prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-addr2line -f -e out/target/product/msm7627a/symbols/system/lib/libril-qc-qmi-1.so000de39a000f12a8
00037bc20001327c
这里的000de39a000f12a8
00037bc2 0001327c
00012dd0”是“红色”部分中的地址。
得到的结果如下:
qcril_qmi_nas_is_in_service_of_technology
/home/mtd/src/Qualcomm_AR1861/android/trunk/ics/vendor/qcom/proprietary/qcril/qcril_qmi/qcril_qmi_nas.c:6703
qcril_qmi_nas_request_operator
/home/mtd/src/Qualcomm_AR1861/android/trunk/ics/vendor/qcom/proprietary/qcril/qcril_qmi/qcril_qmi_nas.c:9492
qcril_dispatch_event
/home/mtd/src/Qualcomm_AR1861/android/trunk/ics/vendor/qcom/proprietary/qcril/qcril_qmi/qcril.c:3206
qmi_ril_fw_dedicated_request_exec_thread
/home/mtd/src/Qualcomm_AR1861/android/trunk/ics/vendor/qcom/proprietary/qcril/qcril_qmi/qcril.c:4137
结果红色部分(xxxx.c:
xxxx), 其中“:”前的部分表示“文件名”,后面部分表示出现问题的“行号”。
根据以上信息再分析源代码,找出具体的问题。
参考网址:
/linux:android:crashlog
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:72731次
积分:1032
积分:1032
排名:千里之外
原创:22篇
转载:39篇
评论:15条
(1)(6)(1)(2)(3)(23)(2)(2)(2)(3)(8)(5)(3)加入粉絲團
千呼萬喚始出來,先前才在網上才曝光一張,可能是 LINE 要推出新的表情符號角色的預告,結果在今天 LINE 就宣布推出新的通訊功能及貼圖小鋪服務,同時還新增多款新角色的表情符號貼圖。
▲LINE 先前透露新的表情符號角色的預告,LINE App 今天更新果然新增了貼圖小鋪功能。
最新更新版的 LINE App 新增了貼圖小鋪功能,多了 15 組 784 種的貼圖符號,包括魔菇人方吉、光頭老伯、天才笨蛋伯等,主要是日本、韓國的漫畫及遊戲角色改編,而新增的角色也採收費下載有 1.99 跟 0.99 美金兩種價錢,下載後,沒有使用期限。
▲在 LINE 的設定裡面,可以看到更新後新增有一個貼圖管理員的選項。
▲點選進去後可以看到目前所擁有的表情符號。
▲除了此次新增的表情貼圖外,原本就有的貼圖也有新增樣式。
▲另外,使用者也可以點選下面的貼圖小鋪購買新的表情貼圖,除了自己購買外。也可以選擇購買後送給 LINE 裡面的朋友。
▲點選購買後,就能下載新的表情貼圖。
▲買完後就能傳送貼圖給朋友了,雖然對方沒有購買,不過還是可以看到貼圖。
▲下載完後的貼圖繪出現在傳送的列表,使用者也可以根據自己的喜好來更換順序。
▲使用者也可另外購買貼圖贈送給朋友,不過就算你已經購買過了同一組貼圖,要再贈送給朋友還是要收一次錢喔!
除了新增的貼圖小鋪功能外,LINE 也整合了附加檔案功能,多了錄音檔傳送、地圖定位、影片傳送等新功能。同時還新增了馬來語跟印尼語。
▲新的 LINE 2.2.1多了許多的新功能,也將傳送檔案介面整合。
▲有別於以往只能傳送照片的功能,這次新增了影片傳送語、音檔及地圖定位等功能。
▲影片傳送功能,可以傳送既有的影片或是直接錄製最長 90秒的影片。
▲新的語音功能可以直接按下錄音鍵,然後講話就能把錄音檔傳送給對方,最長能錄製 180 秒的語音,這個功能看來跟的設計相當類似。
▲地圖定位功能,可以直接定位目前的位置或是輸入地址,然後將地圖傳送給對方。
延伸閱讀:
馬上按讚 加入T客邦 3C 科技
更多3C新消息,快來加入T客邦粉絲團
您可能會有興趣的文章}

我要回帖

更多关于 line 功能 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信