常用獲取Android崩潰日志和IOS崩潰日志的幾種方法


一:前言

在日常測試app時,經常會遇到崩潰問題,測試快速抓取到崩潰日志可以有效方便開發進行定位,快速解決問題所在
測試做到測試分析,定位是非常重要的,這也是判斷一個測試能力指標的一大維度。

 

二:Android崩潰日志

 

一、通過adb logcat獲取

# 清除日志,新手上路時,日志內容很多,對於能畢現的日志,可以先清除后重新獲取
adb logcat -c
# 然后再次運行崩潰操作,再抓取日志
# 存儲日志到當前目錄下的 carsh.log 中
adb logcat -d *:W > crash.log 
# W指的是警告以上日志
# 這個日志文件包含了所有打印的日志,需要自己篩選下崩潰日志,比如搜索 begin、crash、Exception
# 為了更精確的篩選日志,可以加入篩選條件
adb logcat -d *:W grep “包名” >crash.log

二、通過Android Studio

在logcat中查看實時日志,需要選擇連接的手機和應用包名

三、通過adb shell dumpsys dropbox命令獲取

封裝成shell腳本,可以快速打印最新的崩潰日志

#!/bin/bash
# path="/data/system/dropbox"   # 在手機這個目錄下存儲了崩潰日志
newest_time=$(adb shell dumpsys dropbox | grep 'data_app_crash' | awk 'END {print $1,$2}')
adb shell dumpsys dropbox --print ${newest_time}
# echo -e "時間是:${newest_time}"
 

四、獲取ANR日志

# 在/data/anr/目錄下存儲所有了ANR日志
adb pull /data/anr/ ~/Downloads

 

五、常見日志類別

常見的異常:javaException(runtimeException):

NullPointerException-空指針引用異常

ClassCastException-類型強制轉換異常。

IllegalArgumentException-傳遞非法參數異常。

ArithmeticException-算術運算異常

ArrayStoreException-向數組中存放與聲明類型不兼容對象異常

IndexOutOfBoundsException-下標越界異常

NegativeArraySizeException-創建一個大小為負數的數組錯誤異常

NumberFormatException-數字格式異常

SecurityException-安全異常

UnsupportedOperationException-不支持的操作異常

 

 

 

 

二:iOS崩潰日志

一、iOS手機上獲取崩潰日志

 路徑:設置 -> 隱私 -> 分析 -> 分析數據

這里可以獲取手機上的所有崩潰日志。不過日志是密文,需要在xcode中打開,會自動翻譯成明文。

二、在xcode中打開崩潰日志

 打開xcode,菜單欄選擇window,選擇 Devices and Simulators,點擊View Device Logs,可以看到日志列表。

在日志中主要看Last Exception Backtrace(即發生崩潰的原因,也是我們要研究的重點) 默認是密文,打開后xcode會翻譯成明文,需要等待幾秒。

 

 

三、通過iTunes同步后獲取崩潰日志

 路徑:

Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/
可以看到所有和該電腦同步過的設備的崩潰日志(.crash文件)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM