06-20 15:54:35.331 23889 23889 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 06-20 15:54:35.331 23889 23889 I DEBUG : Build fingerprint: 'google/razorg/deb:4.4.2/KOT49H/937116:user/release-keys' 06-20 15:54:35.331 23889 23889 I DEBUG : Revision: '0' 06-20 15:54:35.331 23889 23889 I DEBUG : pid: 1981, tid: 2020, name: Thread-3399 >>> com.guangyou.ddgame <<< 06-20 15:54:35.331 23889 23889 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000028 06-20 15:54:35.431 187 710 D audio_hw_primary: out_set_parameters: enter: usecase(0: deep-buffer-playback) kvpairs: routing=2 06-20 15:54:35.511 23889 23889 I DEBUG : r0 76d94458 r1 00000000 r2 00000000 r3 00000000 06-20 15:54:35.511 23889 23889 I DEBUG : r4 760c1a48 r5 751e2440 r6 00000001 r7 760c1a48 06-20 15:54:35.511 23889 23889 I DEBUG : r8 00000001 r9 76c96f3c sl 76c861c0 fp 76d94444 06-20 15:54:35.511 23889 23889 I DEBUG : ip 00000001 sp 76d94430 lr 75a81bd8 pc 75a81bdc cpsr 600f0010 06-20 15:54:35.511 23889 23889 I DEBUG : d0 746968775f327865 d1 6a6e6169642f675f 06-20 15:54:35.511 23889 23889 I DEBUG : d2 5f6f616978757169 d3 676e702e6e776f6d 06-20 15:54:35.511 23889 23889 I DEBUG : d4 0000000009000000 d5 0000000000000000 06-20 15:54:35.511 23889 23889 I DEBUG : d6 0000000000000000 d7 0000000000000000
怎樣獲取android的系統日誌android
假設你已經安裝了 Android Develop Tools, 能夠成功調用adb. 並打開android開發用機的調試模式, 鏈接到電腦.c++
打開命令行, 在命令行輸入: adb logcat
. 就能夠看到滿屏幕的日誌啦. 輸入adb logcat --help
能夠看到 logcat的用法提示.工具
這裏有兩個參數特別提醒一下, 比較經常使用:ui
若是須要保存log到文件, 方便之後查看. 可輸入命令: adb logcat -v threadtime -d > log.txt
google
利用ndk-stack定位崩潰代碼命令行
上面的一些信息能簡單的幫你定位如下問題. 若是信息量還不夠大的話, 那就還有最後一招: 還原歷史.線程
Android NDK自從版本R6開始, 提供了一個工具ndk-stack( 在目錄{ndk_root}/中 ). 這個工具能自動分析dump下來的crash log, 將崩潰時的調用內存地址和c++代碼一行一行對應起來.unix
咱們先看一下用法, 執行命令ndk-stack --help調試
Usage: ndk-stack -sym <path> [-dump <path>] -sym Contains full path to the root directory for symbols. -dump Contains full path to the file containing the crash dump. This is an optional parameter. If ommited, ndk-stack will read input data from stdin
-dump參數很容易理解, 即dump下來的log文本文件. ndk-stack會分析此文件. -sym參數就是你android項目下,編譯成功以後,obj目錄下的文件.
adb logcat | ndk-stack -sym ./obj/local/armeabi
日誌