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