自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 你所不知道的那些细节-Systemtap-malloc

我在学习使用Systemtap解决实际问题,比如内存泄漏。刚开始就遇到问题:我在__libc_malloc 打探针,发现malloc第一次调用会触发两次探针。按理来说,我只调用了一次啊(预期应该是只触发一次探针)。来看我的stp,和test.c:我的测试程序 test.c :int main()free(p);return 0;运行malloc.stp后的打印:两次一模一样的堆栈??咋回事?我一开怀疑Systemtap是不是出错了。然后,怎么折腾也是两次。

2024-03-26 18:06:25 539

原创 鲁班猫4-扩容文件系统

上一篇讲了在板子上用Systemtap 生成火焰图和如何用systemtap调试内核崩溃。之前讲的过程板子里缺的内容都是通过PC拷贝到板子上的。今天补充讲一下如何重新制作文件系统和整个升级包。你会说野火文档里有啊,你说了这句话,那就说明你还不知道“你所不知道的那些细节”。先说一下我过程总结的一些问题:1. 原生的rootfs.img boot.img 容量太小,拷贝不了大文件进去。2. 如何制作deb包3. 如何重新分区。4. 一些怪异问题。

2024-03-21 17:15:27 2114 1

原创 Systemtap查找鲁班猫4内核崩溃原因

打印的堆栈很多,我往前翻了,大致发现没死的都带有ext4_*,那么就是普通的文件系统grep没事,当x0=0xc8时,是proc文件系统,因为你会看到死的堆栈 vfs_read调用的是proc_reg_read。看来原生驱动还是不够robust,你该在proc_iep_show的时候判断一下iep_drvdata1有没有被初始化啊,大哥。终于找到你了节点是iep, 是/proc/iep . 我运行了下 cat /proc/iep, 果然预料之中的崩溃了。那么看下在proc的哪里读的时候死了。

2024-03-15 15:12:35 851

原创 你所不知道的那些细节-Systemtap-火焰图

上一篇写了在鲁班猫4上移植Systemtap(非install),并选择了在PC上用stap编译ko, 板子用staprun运行的使用方式。此篇,主要讲使用systemtap生成火焰图。并顺带讲讲直接在板子上运行stap使用方式。先说一下我移植过程总结的一些问题:1. 在板子上直接使用stap,板子缺少的东西。2. 火焰图的生成。今天的内容少,打字还是挺累的。

2024-03-13 18:40:40 1758

原创 你所不知道的那些细节-Systemtap移植

不多啰嗦,直接进入主题:你可以说:鲁班猫上都能运行ubuntu了,直接apt-get install 多简单。如果你有这种想法,你可以看看我第一篇文章“鲁班猫4-环境搭建”,假如你一直是这种思维,那么你永远也不会知道“你所不知道的那些细节”。先说一下我移植过程总结的一些问题:1. 交叉编译没有生成stap, 只有staprun.2. systemstap的两种用法。3. stp脚本的编写,编译。4. ./staprun backtrace.ko 居然崩溃了?(很有趣)

2024-03-07 18:24:10 925

原创 鲁班猫4-环境搭建

鲁班猫4开发环境搭建

2024-02-28 17:56:23 1515 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除