1. 程式人生 > >ANR 之 adb 抓取 anr 日誌及遇到的小問題

ANR 之 adb 抓取 anr 日誌及遇到的小問題

做軟體測試的時候,有時候會遇到 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 資訊:

講得比較淺,只是把我自己遇到的問題寫了出來,如果各位博友有其他的問題,歡迎討論笑 ^-^。