Advertisement

Kernel_exception1

阅读量:

一、概述:

kernel exception的种类繁多,其中以kernel panic为主要表现形式。当linux kernel发生panic时,系统将触发重启操作,从而带来较差的用户体验。然而,引发kernel panic的原因多种多样,既可能源于软件层面的问题,也可能由硬件故障导致。在出现panic的情况下,通常需要借助gdb/trace32等调试工具对生成的DB文件进行分析,并结合具体代码定位问题根源。以下将详细介绍各类kernel exception(简称KE)的相关内容。

二、exception的种类:

(1)普通的data abort异常,在SYS_KERNEL_LOG中可检索到如下信息:

Unable to handle kernel paging request at virtual address XXXXXXXXX

上述XXXXXXXX表示一个非法虚拟地址。这类KE较为常见,其成因可能包括内存越界访问或硬件Bit位翻转等问题。

针对此类问题,通常需要利用同时编译生成的符号表(vmlinux)进行反汇编分析以进一步查明原因。

(2)主动调用BUG函数引发的Kernel panic,在对应的kernel log中可找到如下关键字信息,有助于识别该类问题:

Kernel BUG at ffffff8008311ac8 [verbose debug in

全部评论 (0)

还没有任何评论哟~