摘要: 死机重启问题中,有部分是访问了已释放的内存导致,这就是典型的userafter free问题. 打开CONFIG_SLUB_DEBUG和CONFIG_SLUB_DEBUG_ON宏开关后,系统就可以监测内存的释放与分配调用栈. 1. slab 内存布局slub的内存管理原理这里就不在详述.直接给出sl 阅读全文
posted @ 2021-03-04 14:06 smilingsusu 阅读(511) 评论(0) 推荐(1) 编辑
摘要: 方法一:可以通过/proc/线程ID/stack来获取指定线程当前的调用栈,但是该方案存在限制:可能不能准确获取出问题的时候该线程的调用栈 方法二:通过内核接口save_stack_trace_tsk和%pS,在程序检测到异常的时候打印出对应的调用栈用于问题定位,具体的方法(从内核/proc文件系统 阅读全文
posted @ 2021-03-04 10:36 smilingsusu 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 一. 介绍 data breakpoint是一种特殊的断电,在处理检查到预设地址的值发生R/W操作时,发生断点中断。 二. 使用方法1 kernel有示例代码,在data_breakpoint.c中,在这里,kernel检查的是symbol的值发生变化,但是实际上测试发现直接使用寄存器地址也是可以的 阅读全文
posted @ 2021-01-29 09:46 smilingsusu 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 一,入参解析库 argparse 有时候写Python脚本,需要处理入参[-h][-v][-F]...等情况,如果自己来解析的话,会花费很多时间,而且也容易出问题,好在Python有现成的lib可以使用,就是argparse了,下面我们看看如何使用它。 import argparse def get 阅读全文
posted @ 2021-01-28 09:51 smilingsusu 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 1. 介绍 Perf is a profiler tool for Linux 2.6+ based systems that abstracts away CPU hardware differences in Linux performance measurements and presents 阅读全文
posted @ 2021-01-25 09:50 smilingsusu 阅读(2485) 评论(0) 推荐(0) 编辑
摘要: 多数情况下,Linux出问题时都可以打印出错误log,但是有些情形却又不能,这时就要自己来dump出还没来得及打印的log了。 1. dump log_buf a. 需要找到 _text字段的虚拟地址,可以 nm vmlinux | grep _text b. 需要找到 _log_buf字段的虚拟地 阅读全文
posted @ 2020-12-25 13:37 smilingsusu 阅读(820) 评论(0) 推荐(0) 编辑
摘要: Kprobe的使用方法 //kprobe_example.c #include<linux/init.h> #include<linux/module.h> #include<linux/kernel.h> #include <linux/kprobes.h> //统计do_fork()总共执行了几 阅读全文
posted @ 2020-12-18 16:25 smilingsusu 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 1. 介绍 tracepoint为我们trace 内核event提供了钩子函数,我们可以通过tracepoint追踪内核事件。 tracepoint详细介绍:https://blog.csdn.net/geshifei/article/details/94360470 2.使用tracepoint统 阅读全文
posted @ 2020-11-25 19:37 smilingsusu 阅读(382) 评论(0) 推荐(0) 编辑
摘要: JSMN jsmn (pronounced like 'jasmine') is a minimalistic JSON parser in C. It can be easily integrated into resource-limited or embedded projects. You 阅读全文
posted @ 2020-11-25 13:45 smilingsusu 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 如刚才实验,烧录GSI之后,本来已经被格式化为ext4的metadata分区,又被格式化为无格式的分区。 我这边继续Check发现,在替换GSI的SOP中,fastboot –w选项如果在bootloader执行,会清userdata、cache、metadata分区为无格式分区,而后进入recov 阅读全文
posted @ 2020-11-24 20:25 smilingsusu 阅读(565) 评论(0) 推荐(0) 编辑