动态模块加载异常 发表于 2022-03-31 更新于 2022-12-08 分类于 linux 本文字数: 2.1k 阅读时长 ≈ 2 分钟动态模块加载异常背景动态模块加载,出现以下异常1disagrees about version of symbol module_layout"阅读全文 »
内存泄露分析 发表于 2022-03-30 更新于 2022-12-08 分类于 memory 本文字数: 1.8k 阅读时长 ≈ 2 分钟内存泄露分析背景N项目超级夜景模式泄露内存,且泄露内存较大,大概每次19M阅读全文 »
linux内核开发学习手册-内核许可证 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 1.5k 阅读时长 ≈ 1 分钟linux内核开发学习手册-内核许可证原文见:内核开发文档-Linux kernel licensing rules(Linux内核许可规则)内核通用许可证linux内核虽然是开源的,但是为了避免开发者的心血被不良厂商赚取利益等和保护开源环境,因此是有基于GPL-2.0() 的通用公共许可证作为法律保护的,具体的描述见COPYING文件。所有的内核源文件都需要标志许可证,而且这个许可证是可以与GPL-2.0兼容的,但是UAPI是作为例外的,因为是非内核的软件如果与内核通信,需要包含此头文件,但是我们不能要求该通信软件也受此许可证限制,因此此类特殊的例外许可描述也会被记录。阅读全文 »
内核开发学习手册-内核驱动接口 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 806 阅读时长 ≈ 1 分钟内核开发学习手册-内核驱动接口针对内核,无论是开发还是用户,我们所希望的是稳定的驱动功能,而稳定的驱动和有稳定的内核接口之间的联系,需要我们去思考,有助于理解linux的开发哲学。下文解释了:内核没有二进制内核接口内核的源代码接口不稳定阅读全文 »
内核补丁提交 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 6.7k 阅读时长 ≈ 6 分钟内核补丁提交本文将总结介绍提交内核补丁前的须知规范linux官方文档下有详细的关于此部分的描述与Linux 内核社区一起工作阅读全文 »
程序分析利器strace 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 7.4k 阅读时长 ≈ 7 分钟程序分析利器strace简介strace可以通过捕捉记录正在运行进程的系统调用和信号来进行程序分析,既然是系统调用,因此shell脚本和应用程序都可以通过strace来调试分析。阅读全文 »
sysdump学习 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 9.5k 阅读时长 ≈ 9 分钟sysdump学习简介sysdump为dump system memory,也称内核转储。在内核发生异常时,通过kexec和kdump,将内存和寄存器信息保存,在重启以后的uboot阶段将信息转储到文件中。我们能够通过转储文件发现异常发生的根本原因。阅读全文 »
程序分析利器gdb 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 13k 阅读时长 ≈ 12 分钟程序分析利器gdb简介通过gdb可以分析进程在运行和crash的内部状态,根据man手册描述有以下作用控制进程的开始和结束设置进程暂停的条件检查进程暂停时的堆栈等信息改变程序变量等因素影响程序阅读全文 »
程序分析利器perf 发表于 2022-03-30 更新于 2022-12-08 分类于 linux 本文字数: 15k 阅读时长 ≈ 14 分钟程序分析利器perf简介全称为performance counter,是一个linux内核实现的框架来进行性能分析,覆盖了硬件CPU/PMU和(软件计数器,监测点)之类的特性。本文重点介绍perf的使用和实践,不对原理性知识进行讲解阅读全文 »
内核实践-linux5.12.0-rc8 发表于 2021-08-10 更新于 2022-12-08 分类于 linux 本文字数: 17k 阅读时长 ≈ 16 分钟内核实践-linux5.12.0-rc8环境配置编译qemu-guest-rungdbBusyBoxCrash参考阅读全文 »