Android 调试桥 (adb)
https://developer.android.google.cn/studio/command-line/adb
内核模块编译及adb调试
编译:https://blog.youkuaiyun.com/leytton/article/details/52736829
调试:https://blog.youkuaiyun.com/leytton/article/details/52733776
- 编译内核模块
待补充 - 连接Android设备
连接远程Android设备:
adb connect 192.168.1.3
连接本地Android模拟器:
adb connect 127.0.0.1:5554
- 建立目录并远程上传内核模块文件
进入Android shell模式:
adb shell
建立目录:
mkdir /llqqww
退出Android shell, 也可以Ctrl+C:
exit
adb远程上传文件:
adb push word_count.ko /llqqww
- 加载并测试模块
加载内核模块:
insmod word_count.ko
加载内核模块前后,可以查看有没有"word_count"设备和相关日志消息:
ls /dev/ | grep word_count
dmesg
向设备输入数据:
echo hello > /dev/word_count
读出设备是否有写入内容:
cat /dev/word_count
卸载内核模块:
rmmod word_count.ko
dmsg和kmsg
adb shell dmesg >E:/Kernel.log
adb shell cat /proc/kmsg
DDMS
待补充
logcat
adb shell “logcat | grep -E ‘log_xxx|log_aaa’”
bugreport
android平台自带的工具, 收集了device端的详细的状况
bugreport > /sdcard/bugreport.log
adb bugreport > bugreport.log
相关代码路径
frameworks\base\cmds\bugreport
frameworks\base\cmds\dumpstate
frameworks\base\cmds\dumpsys
oprofile
用来对找出系统的瓶颈并进行优化
traceview
android自带的tool
Debug.startMethodTracing("xxxx")
Debug.stopMethodTracing()
ftrace
ftrace是内建于Linux内核的跟踪工具, 从2.6.27开始加入主流内核. ftrace的作用是帮助开发人员了解 Linux 内核的运行时行为, 以便进行故障调试或性能分析.