1.? 錯誤分析Android功能說明
1.1? 概述
錯誤分析是友盟為移動開發者提供的Crash收集和分析工具,幫助開發者監測App在移動設備上的運行狀況,及時發現并解決錯誤,提升App的穩定性。
新版錯誤分析讓您能夠方便地通過友盟后臺管理錯誤內容:
您可以按照錯誤類型、應用版本篩選錯誤; 還可以根據不同的條件為錯誤添加標簽,便于快速分類及查找錯誤。 同時,您可以通過上傳mapping文件來定位到Crash的具體位置。
1.2? 詳細說明
1.2.1? 錯誤列表頁
錯誤列表中展示的錯誤摘要的生成規則是,將收集的Crash日志通過一定算法聚合后的錯誤的堆棧信息的第一行。
每天展示當日發生的錯誤,且每天至多展示1000條錯誤類型。當錯誤類型超過1000條時,當日錯誤列表中的數據不再更新。次日恢復。
當錯誤列表中超過1000條時,請在版本管理中取消不關注的版本;版本取消后,當日不再接收該版本的錯誤,但不會減少當日已接收的錯誤數。
1.2.1.1? 篩選
A1
按照您為錯誤標記的狀態來篩選錯誤
選擇至多3個版本,只展示選中版本的數據
選擇錯誤類型,查看崩潰日志或您自定義的錯誤信息
通過自定義標簽來篩選錯誤,同時可添加新標簽或刪除標簽
1.2.1.2? 標記
(1) 添加標記
選中相應的錯誤 ,可以為其添加多個標簽或標記為已修復/未修復。
A2
為選中的錯誤添加標簽
為選中的錯誤標記修復狀態,便于跟蹤錯誤
(2) 修改或刪除標記
如果想修改標簽,需進入錯誤詳情頁進行修改
1.2.1.3? 導出
導出當前頁面內的全部錯誤,或導出該頁面內勾選的錯誤
A3
1.2.1.4? 管理版本
(1)查看今日接收的錯誤數并進行版本管理
今日錯誤數展示的是今日收到的全部錯誤數(聚合后的錯誤類型數);當今日錯誤類型超過1000個的限制時,此處的數據不再更新。
選擇接收錯誤信息的版本,當某版本取消選中時,該版本的錯誤信息將不再繼續接收。
(2)選擇接收錯誤的版本
該版本今日收到的總錯誤數
上傳該版本的mapping文件
1.2.2? 錯誤詳情
錯誤詳情頁面展示的是錯誤詳細的stacktrace以及其他相關信息。
1.2.2.1? 基本信息
包括錯誤的首次發生時間、最近一次發生時間、今天發生的次數以及出現的應用版本。
該錯誤首次發生的時間
該錯誤最近一次的發生時間
該錯誤出現的總次數
發生該錯誤的應用版本
1.2.3? 終端概況
終端概況提供了設備,機型和操作系統的聯合分布信息,可以點擊查看分布詳情。
1.2.3.1? 錯誤詳情
可以修改錯誤標簽,修改錯誤狀態。
修改錯誤的標簽
修改錯誤的已修復/未修復狀態
mapping文件的上傳情況,只有上傳了mapping文件才能夠顯示翻譯后的內容
上傳mapping文件后,錯誤會自動翻譯:
1.3? FAQ(Android)
Q:錯誤類型超過1000個的限制該如何處理?
A:每天至多展示1000個錯誤,當超過1000個的限制后,該日的數據不再更新。次日恢復。
當超過限制后,您可以在版本管理中選擇接收錯誤的版本,對不關注的版本取消選中。取消選中的版本不再接收錯誤。
選擇您關注的版本接收錯誤,關閉不關注的版本,會降低次日錯誤超過1000的情況。
Q:通過篩選或管理版本來控制錯誤的展示或接收,生效時間分別是多久?
A:通過篩選(錯誤類型、錯誤狀態、版本選擇)來控制錯誤列表中展示的條目,篩選后即時生效; 通過管理版本來控制當日接受錯誤的總條數,10-20分鐘后生效。
2.? 錯誤分析iOS功能說明
2.1? 概述
錯誤分析是友盟為移動開發者提供的Crash收集和分析工具,幫助開發者監測App在移動設備上的運行狀況,及時發現并解決錯誤,提升App的穩定性。
新版錯誤分析的主要功能點如下:
(1) 通過友盟后臺網站管理錯誤內容。
您可以按照版本、UUID、操作系統、機型篩選錯誤; 還可以根據不同的條件為錯誤添加標簽,便于快速分類及查找錯誤。
(2) 通過友盟錯誤分析工具定位錯誤。
您可以在友盟后臺網站批量導出錯誤,并借助命令行工具將錯誤快速定位到具體的代碼行數。
2.2? 詳細說明
2.2.1? 錯誤列表頁
錯誤列表中展示的錯誤摘要的生成規則是,將收集Crash日志通過一定算法聚合后按照UUID拆分的錯誤的堆棧信息的第一行。
每天展示當日發生的錯誤,且每天至多展示1000條錯誤類型。當錯誤類型超過1000條時,當日錯誤列表中的數據不再更新。次日恢復。
當錯誤列表中超過1000條時,請在版本管理中取消不關注的版本;版本取消后,當日不再接收該版本的錯誤,但不會減少當日已接收的錯誤數。
2.2.1.1? 篩選
I1
按照您為錯誤標記的狀態來篩選錯誤
選擇至多3個版本,只展示選中版本的數據
通過UUID來搜索錯誤
通過操作系統或機型來篩選錯誤
通過自定義標簽來篩選錯誤,同時可添加新標簽或刪除標簽
2.2.1.2? 標記
(1) 添加標記
選中相應的錯誤 ,可以為其添加多個標簽或標記為已修復/未修復。
I2
為選中的錯誤添加標簽
為選中的錯誤標記修復狀態,便于跟蹤錯誤
(2) 修改或刪除標記
如果想修改標簽,需進入錯誤詳情頁進行修改
Error3
2.2.1.3? 導出
導出當前頁面內的全部錯誤,或導出該頁面內勾選的錯誤
I3
2.2.1.4? 管理版本
(1)查看今日接收的錯誤數并進行版本管理
Error4
今日錯誤數展示的是今日收到的全部錯誤數(聚合后的錯誤類型數);當今日錯誤類型超過1000個的限制時,此處的數據不再更新。
選擇接收錯誤信息的版本,當某版本取消選中時,該版本的錯誤信息將不再繼續接收。
(2)選擇接收錯誤的版本
Error6
該版本今日收到的總錯誤數
展開/收起UUID列表
2.2.2? 錯誤詳情
錯誤詳情頁面展示的是錯誤詳細的stacktrace以及其他相關信息。
2.2.2.1? 基本信息
包括錯誤的首次發生時間、最近一次發生時間、今天發生的次數以及出現的應用版本。
Error7
該錯誤首次發生的時間
該錯誤最近一次的發生時間
該錯誤出現的總次數
發生該錯誤的應用版本
2.2.2.2? 終端概況
終端概況提供了設備,機型和操作系統的聯合分布信息,可以點擊查看分布詳情。
Error8
2.2.2.3? 錯誤詳情
可以修改錯誤標簽,修改錯誤狀態。
Error9
修改錯誤的標簽
修改錯誤的已修復/未修復狀態
2.2.3? 錯誤分析工具的使用
第一步 下載錯誤分析工具 并解壓zip得到umcrashtool文件,可將umcrashtool與已下載的xxx.csv文件放入同一目錄下。
第二步 在terminal中運行umcrashtool命令,參數為錯誤分析的.csv文件絕對路徑,如下:
sanzhang$ ./umcrashtool [absolutely_path_of_csv_file]
將umcrashtool與錯誤分析.csv文件放入同一目錄下
Error11
第三步 在terminal中運行umcrashtool,提示如下: Usage: umcrashtool [export-file-path],定位后的代碼及行數會寫入錯誤分析-symbol.csv文件,與原文件在同一目錄下。用工具打開新生成的xxx-symbol.csv文件,便可查看錯誤發生的源碼文件及行數。
注:如果錯誤分析沒有成功,請先確保對應的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或該路徑的子目錄下。(對于每一個產品發布時archive操作會將dsym文件存放到~/Library/Developer/Xcode/Archives路徑下,因此建議保留該路徑下的文件,以便后續用工具分析錯誤。)
Error12
更詳細的使用教程見這里。
2.3? FAQ(iOS)
Q:錯誤類型超過1000個的限制該如何處理?
A:每天至多展示1000個錯誤,當超過1000個的限制后,該日的數據不再更新。次日恢復。
當超過限制后,您可以在版本管理中選擇接收錯誤的版本/UUID,對不關注的版本/UUID取消選中。取消選中的版本/UUID不再接收錯誤。
選擇您關注的版本/UUID接收錯誤,關閉不關注的版本,會降低次日錯誤超過1000的情況。
Q:為什么有些錯誤無法通過友盟提供的工具定位 ?
A:因為您使用的SDK版本過低。 必須使用v2.1.3以后的SDK才能正確的定位Crash log。
Q:使用umcrashtool為什么沒有正確的翻譯出錯誤 ?
A:您需要確保dSYM文件存放在/Users/xx/Library/Developer/Xcode/或者它的子目錄下,路徑中不要出現空字符。
Q:為什么生成的csv文件打開有亂碼?
A:csv文件我們使用的UTF8編碼格式,需要選用相應的格式打開,在Mac平臺可以用系統自帶的Numbers或免費軟件LibreOffice打開。目前的Microsoft Office for Mac 打開會有亂碼的問題。
Q:使用umcrashtool為什么沒有正確的翻譯出錯誤?
A:首先請確保dSYM文件存放在 ~/Library/Developer/Xcode/或者它的子目錄下。另外, 目前的錯誤捕捉工具針對一些系統信號導致的崩潰信息,存在無法解析的情況,最后可能是dsym文件提供的信息量不夠,導致部分解析失敗。我們的技術人員一直在努力提高能夠捕獲和分析的崩潰的類型,如果您在這方面有建議,也可以通過郵件support@umeng.com或友盟開發者社區反饋給我們。