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)
还没有任何评论哟~
