现象:安装内核模块之后,功能正常,但隔一段时间(时间不定)后,系统崩溃
为了便于内核模块调试使用了自编内核,因此在gdb中收到了中收到下图的段错误:
猜想:
1)难道是因为自编内核导致的?
2)根据中断的位置,难道是因为分配内存引起的?
验证:
1)对比试验了安装内核模块和不安装内核模块,在不安装内核模块的情况下始终末出现此问题,排除
2)检查代码中分配内存发现问题
在对数组分配内存时错误的使用sizeof计算了指针变量的长度8,在实际使用了指针时40,填充指针时,相当于内存越界,那么结果将导致内存释放失败。