linux 驱动 --- 问题及定位

OOPS

在 Linux 系统中,"OOPS" 是内核触发的错误报告(类似于用户态的 Segmentation Fault),通常由非法内存访问、无效指针、权限问题等引发。OOPS 不会直接导致内核崩溃(panic),但会打印详细的调试信息到 dmesg 或系统日志(如 /var/log/kern.log)。

Oops信息,包含调用栈、寄存器状态和错误类型(如NULL指针解引用)。

Oops信息解析

1、Oops信息中的PC(程序计数器)和LR(链接寄存器)指向崩溃位置,结合反汇编工具(如objdump)定位代码行:

arm-linux-objdump -d driver.ko | grep -A 20 <PC_address>

2、检查调用栈(Call Trace)确认函数调用链。

panic

日志与oops类似

 

posted @ 2025-07-02 14:52  流水灯  阅读(59)  评论(0)    收藏  举报