Fork me on GitHub
上一页 1 2 3 4 5 6 7 8 ··· 81 下一页
摘要: 下面是在实际工作中遇到的一次内核(5.4.110)访问非法内存地址(空指针)导致出错的现场,在这里记录一下简单的分析流程为以后遇到类似的问题作为参考。 [ 220.619861] Unable to handle kernel NULL pointer dereference at virtual 阅读全文
posted @ 2024-05-20 14:42 yooooooo 阅读(47) 评论(0) 推荐(0) 编辑
摘要: profile是用于追踪程序执行调用流程的工具,类似于perf中的-g指令 相比perf -g而言,profile功能化更加细分,可以根据需要选择追踪层面,例如-U(用户要调用流程) -K (内核态调用流程) 下面具体介绍该工具的使用 采用profile --help,a56爆大奖在线娱乐们可以看到如下介绍: usa 阅读全文
posted @ 2024-04-07 11:17 yooooooo 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 引入tracepoint的背景 当需要获取内核的debug信息时,通常你会通过以下printk的方式打印信息: void trace_func() { //…… printk("输出信息"); //…… } 缺点: 内核中printk是统一控制的,各个模块的printk都会被打印,无法只打印需要关注 阅读全文
posted @ 2024-04-03 17:50 yooooooo 阅读(43) 评论(0) 推荐(0) 编辑
摘要: kprobe是什么? kprobe 是a56爆大奖在线娱乐动态调试机制,用于debugging,动态跟踪,性能分析,动态修改内核行为等,2004年由IBM发布,是名为Dprobes工具集的底层实现机制[1][2],2005年合入Linux kernel。probe的含义是像一个探针,可以不修改分析对象源码的情况下, 阅读全文
posted @ 2024-04-02 15:04 yooooooo 阅读(50) 评论(0) 推荐(0) 编辑
摘要: rchar:代表自进程启动以来所读取的总字符数,包括通过缓存或直接读取的字符。单位是字节(bytes)。 wchar:代表自进程启动以来所写入的总字符数,包括通过缓存或直接写入的字符。单位是字节(bytes) syscr:代表自进程启动以来所执行的 read 系统调用的次数。 syscw:代表自进程 阅读全文
posted @ 2024-03-26 11:48 yooooooo 阅读(35) 评论(0) 推荐(0) 编辑
摘要: BPF 是 Linux 内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不同,BPF 程序经过验证以确保它们终止并且不包含任何可能锁定内核的循环。BPF 程序允许调用的内核函数也受到限制,以确保最大的安全性以防止非法的访问。 尽管 BPF 为编写事件驱动的内核 阅读全文
posted @ 2024-03-26 10:35 yooooooo 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 Android的ION子系统的目的主要是通过在硬件设备和用户空间之间分配和共享内存,实现设备之间零拷贝共享内存。说来简单,其实不易。在Soc硬件中,许多设备可以进行DMA,这些设备可能有不同的能力,以及不同的内存访问机制。 ION是Google在Android 4.0 ICS中引入,用于 阅读全文
posted @ 2024-03-21 10:55 yooooooo 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 使能KSM KSM只会处理通过madvise系统调用显式指定的用户进程地址空间,因此用户程序想使用这个功能就必须在分配地址空间时显式地调用madvise(addr,length,MADV_MERGEA BLE)。如果用户想在KSM中取消某一个用户进程地址空间的合并功能,也需要显式地调用madvise 阅读全文
posted @ 2024-03-20 14:56 yooooooo 阅读(7) 评论(0) 推荐(0) 编辑
摘要: a56爆大奖在线娱乐主要介绍 Armv8/v9 指令集架构中常用部分,详细的还是要看 Arm architecture reference manual. ARMv8 架构 ARMv8 架构支持3种指令集: T32, A32, A64 ARMv8 架构有两种执行状态: AArch32, AArch64 一个App 阅读全文
posted @ 2024-03-16 21:22 yooooooo 阅读(133) 评论(0) 推荐(0) 编辑
摘要: Exception levels ARMv8-A系列定义了一系列的异常等级,从EL0到EL3,下面具体说明其含义: ELn中,随着n的增加,软件的执行权限也相应的增加; EL0被称为无特权执行; EL2提供了对虚拟化的支持 EL3提供了安全状态切换功能(安全状态与非安装状态之间的切换) 异常级别的切 阅读全文
posted @ 2024-03-14 23:34 yooooooo 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 81 下一页