摘要:概述 模拟异常,定位行号。 通过代码制造异常 oops.c makefile 加粗、下划线部分编译时候开始 -g 选项。 产生异常 sudo insmod oops.ko 定位异常到具体行号 参考资料 https://opensourceforu.com/2011/01/understanding-
阅读全文
摘要:先暂时将编译流程于下,等待后来分析: 设置完之后,编译。 安装模块 安装内核 创建initramfs 然后将上边的文件替换到目标设备上就可以完成内核安装 参考资料: https://blog.csdn.net/guofengdidai/article/details/52184374 (initrd
阅读全文
摘要:《Linux内核调试方法》 http://www.cnblogs.com/shineshqw/articles/2359114.html
阅读全文
摘要:kdump是在系统崩溃的时候用来转储内存运行参数的一个工具和服务,打个比方,如果系统一旦崩溃那么正常的内核就没有办法工作了,在这个时候将由kdump产生一个用于capture当前运行信息的内核,该内核会将此时的内存中的所有运行状态和数据信息收集到一个dump core文件中以便于工程师分析崩溃原因,
阅读全文
摘要:《systemtap原理及使用》 https://www.cnblogs.com/youngerchina/p/5624588.html 这篇帖子前边系统介绍了systemtap的工作原理,摘取几个图。 《使用 Kprobes 调试内核》 https://www.ibm.com/developerw
阅读全文
摘要:SystemTap 基于 Kprobes( Kprobe、Kretprobe)。 SystemTap的执行流程: 1.首先通过 stap程序 将stap脚本转换成c代码,进一步转换成提供探针行为的内核模块; 2.通过SystemTap:staprun、stapio将模块安装到内核中并将输出发送到st
阅读全文
摘要:linux内核配置抢占总共有如下三种模式: PREEMPT_NONE PREEMPT_VOLUNTARY PREEMPT 1. PREEMPT_NONE CONFIG_PREEMPT和CONFIG_PREEMPT_VOLUNTARY都不会设置,表示在内核态既不会被抢占,调might_resched(
阅读全文