csdn lidp 轉載著名出處。html
1. loggersandroid
經過log 查看app
1.1 kernel message logide
內核log 保存在一個緩衝區中,能夠通命令 dmesg 查看此類型log.工具
同時能夠加 time 參數 打印時間戳。ui
關於 dmesg能夠看這裏 http://en.wikipedia.org/wiki/Dmesg調試
1.2 init 進程 loggingserver
內核啓動後的第一個進程init輸出Log,能夠修改init.rc loglevel 值到8 打印更多log信息,htm
默認爲3,ERROR級別。進程
1.3 logcat
android framework層 內嵌log 系統,應用層開發用logcat足以。
logcat命令的詳細解釋:
http://developer.android.com/guide/developing/tools/adb.html#logcat
2. tracers
能夠用strace 調試android進程調用哪些系統調用及它所收到的系統信息, 關於strace 介紹看這裏:http://en.wikipedia.org/wiki/Strace
android源碼默認帶strace工具,好比調試虛擬機進程zygote
能夠修改init.rc
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
改成:
service zygote /system/xbin/strace -tt -o/data/boot.strace /system/bin/app_process -Xzygote /system/bin --zygote --start system-server