低狗线程因为死锁等导致没有喂狗时,出发fiq(arm)或者 nmi(x86) 中断, 在fiq或者nmi中断里面注册snapshot的钩子函数。
钩子函数的任务:1. 打印所欲线程的调用栈信息 2. 打印每个cpu核的调用栈 3. 打印系统信息状态
ksnapshot 可做成ko,动态插入
本文详细介绍了当低狗线程因死锁等问题未喂狗时,如何通过触发FIQ(NMI)中断来注册snapshot钩子函数,实现打印所有线程调用栈、每个CPU核的调用栈及系统信息状态的调试方法,并说明了ksnapshot可作为内核模块进行动态插入。
低狗线程因为死锁等导致没有喂狗时,出发fiq(arm)或者 nmi(x86) 中断, 在fiq或者nmi中断里面注册snapshot的钩子函数。
钩子函数的任务:1. 打印所欲线程的调用栈信息 2. 打印每个cpu核的调用栈 3. 打印系统信息状态
ksnapshot 可做成ko,动态插入

被折叠的 条评论
为什么被折叠?