時(shí)間:2019-08-26 16:39:02 作者:Bill 瀏覽量:12
怎樣用好Log文件、快速精確的反饋 bug?
在日常智能手機(jī)的使用過程中,偶爾大家會(huì)下載到一款新應(yīng)而興致勃勃,躍躍欲試的準(zhǔn)備打開。結(jié)果發(fā)現(xiàn)“OMG 閃退?黑屏?”
用應(yīng)用打開就閃退了,這個(gè)問題能不能修一修?這樣的問題一定發(fā)自己于你內(nèi)心的吶喊
手機(jī)里的應(yīng)用多了,遇到 bug 也是在所難免的事。但遇到問題后如果你像開頭這樣向開發(fā)者反饋問題,那你多半也難以得到直接的解決方案——無論是「閃退」「報(bào)錯(cuò)」還是其他常見問題,我們能夠看見的其實(shí)都只是最終的呈現(xiàn)結(jié)果,并非導(dǎo)致問題的核心原因。
想讓開發(fā)者幫你更好地定位并解決遇到的問題,正確地抓取 log 文件是一項(xiàng)必不可少的技能。
Log 文件是什么?
Log 是用來記錄設(shè)備運(yùn)行活動(dòng)的日志,應(yīng)用有應(yīng)用的運(yùn)行日志,系統(tǒng)有系統(tǒng)的運(yùn)行日志……所以出現(xiàn)問題的時(shí)候,就需要我們找對(duì)應(yīng)的日志。
一般來說,常見的系統(tǒng) log 文件分為三種:Logcat,dmesg 以及 ramoops。它們的區(qū)別大致如下:
logcat 是名副其實(shí)的 Android 系統(tǒng)日志,記錄系統(tǒng)的異常行為,比較常用;
dmesg 是內(nèi)核日志,詳細(xì)記錄了每一個(gè)子系統(tǒng)(subsystem)的活動(dòng);
ramoops 是內(nèi)存相關(guān)的日志,往往用于調(diào)查設(shè)備的意外重啟。
一般的開發(fā)者需要前兩種 log 比較多,如果不確定自己應(yīng)該提交什么類型的 log,不妨先用合適的語言詢問開發(fā)者。
獲取 Log 文件其實(shí)很簡(jiǎn)單
一般來說有兩種獲取 log 的方式:1、通過應(yīng)用獲。ㄐ枰 root 權(quán)限,包含所有類型);以及通過 Android 調(diào)試橋(即 ADB,僅適用于 logcat 和 dmesg,獲取 dmesg 仍然需要 root 權(quán)限)。
通過應(yīng)用來獲取 Log
獲取 logcat
獲取一個(gè) logcat 應(yīng)用,比如說 Matlog 或是 SysLog,這里以 Matlog 為例。
下載打開并授予其 root 權(quán)限,這時(shí)在應(yīng)用的主頁面就會(huì)顯示出此時(shí)的日志。
點(diǎn)擊右上角的「三個(gè)點(diǎn)」菜單按鈕,點(diǎn)選 File,再點(diǎn)選 Record。
這時(shí) Matlog 會(huì)彈出 log 命名對(duì)話框,默認(rèn)的命名是「日期+時(shí)間」,此日志會(huì)保存在內(nèi)部存儲(chǔ) /matlog/savedlogs/ 下。
點(diǎn)擊確定之后就可以將 Matlog 放在后臺(tái),去復(fù)現(xiàn)錯(cuò)誤了。
成功復(fù)現(xiàn)錯(cuò)誤之后回到 Matlog,點(diǎn)擊右下角的「停止」按鈕,這時(shí) Matlog 會(huì)將剛才錄制的 logcat 顯示在屏幕上。點(diǎn)擊右上角菜單按鈕選擇 Share 即可將應(yīng)用日志 logcat,內(nèi)核日志 dmesg 以及本機(jī)信息打包分享出去。
怎樣用好Log文件、快速精確的反饋 bug?圖一
怎樣用好Log文件、快速精確的反饋 bug?圖二
獲取 dmesg