你这个问题本身有点概念混淆,我们先厘清一下,再分别解释:
蓝屏(Blue Screen of Death,BSOD)是 Windows 的概念
所以严格说:
Linux 驱动不会导致“蓝屏”,但会导致 Kernel Panic
Linux 驱动运行在内核态,一旦出错,后果很严重:
struct my_dev *dev = NULL;
dev->reg = 0x1; // 崩溃
spin_lock(&lock);
spin_lock(&lock); // 死锁
kmalloc(GFP_KERNEL))struct 布局常见现象:
Call TraceKernel panic - not syncingdmesg / /var/log/messages 中有 OopsLinux 驱动不会蓝屏,但写错会导致 Kernel Panic,本质和 Windows 蓝屏一样:内核态代码崩了。
如果你愿意,可以:
我可以帮你具体分析原因。