当内核或驱动出现僵死bug,导致系统无法正常运行,怎么找到是哪个函数的位置导致的?...答,通过内核的系统时钟,因为它是由定时器中断产生的,每隔一定时间便会触发一次,所以当CPU一直在某个进程中时,我们便在中断函数中打印该进程的信息
1.先来回忆下
在之前的第5章内核中断运行过程:分析过...因为此时的PC是返回地址,而PC-4才是CPU运行的地址)
3.首先来找到系统时钟的中断号irq
输入#cat /proc/interrupt,如下图所示:
其中中断号来自 linux-2.6.22.6...号
current->com:表示当前进程的name
2) HZ也是一个宏,代表每S的频率,比如每隔10ms加1,那么HZ就等于100
5.测试运行
接下来,我们便安装一个带有while(1)死循环的驱动...,然后通过测试程序,内核便会一直在while(1)死循环,进入僵死状态。