调试工具
JoggingPig
多读好书、多总结、多扩展、多实践
展开
-
查看、设置CPU工作频率的命令
之前遇到过功耗问题,朝着CPU工作频率方向思考,发现功耗过高的原因:为了性能让程序跑在大核上以下为查看、设置cpu动态工作频率的命令:查看cpu0的当前工作频率:cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq查看cpu0的最大工作频率:cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq查看cpu0的最小工作频率:cat /sys...原创 2020-12-14 22:09:48 · 3856 阅读 · 0 评论 -
正则表达式的使用
正则表达式(学会组合使用)用的好,可以提高效率(常用的):^ 匹配输入字符串的开始位置;^ABC 当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合;[^ABC]|表示或*可用来表示任意个字符“.” 表示任意一个字符[A-Z]、[a-z]表示一个区间note:多看看shell脚本,里面常用参考:https://www.runoob.com/regexp/regexp-tutorial.html...原创 2020-12-14 21:25:38 · 183 阅读 · 0 评论 -
用户空间调试GPIO的方法
可以在用户空间对导出、设置GPIO的状态(通过sysfs文件系统暴露出的接口):echo gpio_num > /sys/class/gpio/exportecho gpio_num > /sys/class/gpio/unexport原创 2020-12-14 19:59:46 · 127 阅读 · 0 评论 -
objdump工具的使用
objdump是什么?objdump是gcc工具链中的反汇编工具;(什么是反汇编?将二进制文件反汇编成汇编语言)objdump以可执行命令工具,在Linux下可以自己找寻源码及定位工具位置,参看:https://blog.csdn.net/JoggingPig/article/details/108098077objdump一般什么时候需要用?个人觉得需要看C文件对应的汇编代码,可以用这个工具;objdump怎么用?用find命令找到objdump工具所在的..原创 2020-12-14 14:33:18 · 879 阅读 · 0 评论 -
Man手册的使用
Man手册由多个section组成:第1节 用户命令(man 1ls)介绍了用户命令和工具,例如文件操作工具,shell,编译器,Web浏览器,文件和图像查看器和编辑器等。第2节 系统调用系统调用是应用程序和Linux内核之间的基本接口。系统调用是Linux内核的入口点。通常,系统调用不直接调用:相反,大多数系统调用具有相应的C库包装函数,这些函数执行所需的步骤(例如,捕获到内核模式)以调用系统调用。因此,进行系统调用看起来与调用普通库函数相同第3...原创 2020-12-07 02:36:03 · 388 阅读 · 0 评论 -
Android中DTB的反编译
当项目需要重写覆盖DTS文件或者文件中的属性时,如何去确认自己的改动是否生效?1.利用 find ./ -name "*dtc*" 命令寻找二进制工具(dtc---device tree compiler,一般在android源码的out/xxx/soong/bin/目录下);2.确定项目中自己修改的dts最终编译生成的dtbo镜像文件,在out目录下利用命令 find ./ -name "*dtb*" 即可确认;3.利用dtc工具反编译dtbo输出为dts文件,在dts文件中可查看自己配...原创 2020-07-22 11:55:22 · 2339 阅读 · 0 评论 -
Android常用DEBUG命令
1.T卡log的抓取方法?adb pull /sdcard/log2.什么是dump?从flash中转储信息,得到可以帮助分析问题的有效信息。1.找出导致设备无法正常启动的根本原因2.检查flash是否成功擦除3.检查镜像文件是否成功烧写到闪存手动触发dump的方法:echo c> /proc/sysrq-trigger3.抓dump的方法?通过QPST工具(高通平台)4.串口的抓取方法?预置条件:打开串口?1.PC端...原创 2020-06-16 23:34:21 · 407 阅读 · 0 评论 -
Android性能调试工具:Systrace(二)浏览和解读Systrace报告
查看systrace报告的键盘快捷键键 说明 W 放大跟踪时间轴。 A 在跟踪时间轴上向左平移。 S 缩小跟踪时间轴。 D 在跟踪时间轴上向右平移。 E 以当前鼠标位置为中定位跟踪时间轴。 M 高亮当前选区。 1 将当前正在使用中的选择模型更改为“选择”模式。对应于鼠标选择器工具栏中显示的第 1 个按钮(请参见右图)。 2 将当前正在使用中的选择模型更改为“平移”模式。对应于鼠标选择器工具栏中显示的第 2 个原创 2020-11-23 22:03:15 · 1110 阅读 · 0 评论 -
Android性能调试工具:Systrace(一)命令行工具的安装
Systrace 是平台提供的旧版命令行工具(Android 10以上用的都是Perfetto工具),可记录短时间内的设备活动,并保存在压缩的文本文件中。Systrace 工具会生成一份报告,其中汇总了 Android 内核中的数据,例如 CPU 调度程序、磁盘活动和应用线程。Systrace命令会调用Systrace工具,您可以借助该工具收集和检查设备上在系统一级运行的所有进程的时间信息。如何搭建运行Systrace命令的环境?配置python环境pytho...原创 2020-11-23 20:57:14 · 4245 阅读 · 1 评论 -
Android性能调试:系统跟踪应用---Perfetto
什么是系统跟踪应用?“系统跟踪”应用是一款用于将设备活动保存到跟踪文件的 Android 工具。多用于分析性能问题;什么是Perfetto?Perfetto 是 Android10 中引入的全新平台级跟踪工具。Android10(API 级别 29)或更高版本的设备上,跟踪文件会以 Perfetto 格式保存;生成的跟踪文件存储在设备的“/data/local/traces”目录下,文件的后缀名为“.perfetto-trace“;用于解析“.perfett...原创 2020-11-23 13:16:26 · 15458 阅读 · 1 评论 -
addr2line工具的作用
功用:addr2line可以将函数地址解析为函数名;addr2line根据地址获取到对应的代码行;addr2line参数:addr2line工具位置(Android源码):Crash log:Crash log的解析:解析结果:根据解析结果查看并且修改源代码!Note: 命令后面一定要跟参数,否则报错! 解析的symbols符号必须是“对应的报错...原创 2020-08-19 12:58:33 · 625 阅读 · 0 评论