ANR 之 adb 抓取 anr 日誌及遇到的小問題
阿新 • • 發佈:2018-12-14
做軟體測試的時候,有時候會遇到 anr(程式無響應 Application Not Responding),需要匯出一下log,anr 日誌一般是在 /data/anr/traces.txt 裡。
在網上找了很多都是輸入這行命令就行了:
adb pull /data/anr/traces.txt D:/
但是我每次都會出錯,也是很無奈,然後再去網上找了其他的四步驟,,中間也是遇到一些坑,跟大家分享一下。
在這之前其實還可以先確認一下,/data/anr/ 目錄下是否有anr 日誌
1.adb shell 2.ls /data/anr //輸入命令 2 以後,如果顯示檔案traces.txt,代表有 anr 日誌,那就執行下面的步驟。如果該目錄下什麼都沒有,那可能是沒有生成 anr 日誌,那就可以放棄了 3.cat /data/anr/traces.txt >/mnt/sdcard/aa.txt //注意路徑不要錯誤,網上很多都是給的 cat /data/anr/xxx >/mnt/sdcard/yy/zz.txt,要根據自己的實際路徑改這個命令,我給自己的log 命名的是aa.txt 4.exit 5.adb pull /mnt/sdcard/aa.txt //這裡千萬要注意,網上給的是 adb pull /mnt/sdcard/yy/zz.txt d:,但是我每次都會報錯,後來發現是當前所在的目錄不對,所以一直匯出失敗,命令列顯示的是 C:/Users/yuanxiao> ,輸入命令4 ,就可以在 C:/Users/yuanxiao 目錄下找到aa.txt 檔案
匯出 ANR 之後,可以開啟做個簡單的解析,找到自己的 APP anr 日誌,Cmd line 後面一般顯示的是 anr 程式的包名,比如下面就是YouTube 的 anr 資訊:
講得比較淺,只是把我自己遇到的問題寫了出來,如果各位博友有其他的問題,歡迎討論笑 ^-^。