00:00 / 16:22
连播
清屏
智能
倍速
点赞26
00:00 / 19:23
连播
清屏
智能
倍速
点赞1461
00:00 / 06:05
连播
清屏
智能
倍速
点赞1213
00:00 / 03:39
连播
清屏
智能
倍速
点赞30
00:00 / 01:12
连播
清屏
智能
倍速
点赞2
00:00 / 33:09
连播
清屏
智能
倍速
点赞16
00:00 / 09:14
连播
清屏
智能
倍速
点赞0
00:00 / 17:52
连播
清屏
智能
倍速
点赞2053
Linux内核调试手段汇总 Linux 内核调试手段汇总大纲 一、引言 内核调试的挑战性 内核崩溃会导致整个系统宕机。 无法像用户态程序一样轻松使用 GDB 直接附加。 时序问题、并发问题(竞态条件、死锁)难以复现。 错误影响是全局性的。 核心调试思想 隔离与复现:尽可能缩小问题范围,并找到稳定复现的路径。 从简到繁:先使用简单的打印日志,再使用复杂的动态调试工具。 观察与追踪:在不修改代码或轻微修改的情况下,获取系统运行时信息。 二、基础与日志调试手段 printk 原理:内核最基础、最广泛的日志输出机制。 关键特性: 日志级别(KERN_EMERG ... KERN_DEBUG)。 console_loglevel 控制台打印阈值。 dmesg 命令查看环形缓冲区日志。 优点:简单、可靠、无处不在。 缺点:会产生大量日志,影响性能;可能导致系统在打印时挂起;重启后日志丢失(除非配置持久化)。 动态调试 原理:允许在运行时动态开启/关闭 pr_debug()/dev_dbg() 等语句。 控制方式:通过 debugfs 文件系统(通常是 /sys/kernel/debug)中的控制文件。 优点:无需重新编译内核,灵活性极高。 proc 与 sys 文件系统 /proc:虚拟文件系统,提供内核和进程信息的接口(如 /proc/interrupts, /proc/meminfo)。 /sys:另一种虚拟文件系统,用于展示设备、驱动、内核模块等层次化信息。常用于查询硬件和驱动状态。
00:00 / 55:12
连播
清屏
智能
倍速
点赞0