用户模式故障是否会导致Blue Screen of Death(BSOD)?是否有可能导致内存访问冲突(如双重释放内存)导致蓝屏或仅内核模式异常(如驱动程序异常)导致Windows崩溃?
答案 0 :(得分:3)
不直接。
直接故障将导致异常并导致程序崩溃。要引起BSOD,用户模式应用程序必须直接或间接与内核模式驱动程序通信,该驱动程序可能不够健壮,无法保护自己免受无效用户模式输入的影响。
答案 1 :(得分:0)
蓝屏(也称为错误检查)仅在内核模式出现问题(例如,driver page faults at DISPATCH_LEVEL)或硬件错误时才会发生。
用户模式代码通常无法关闭整个系统(通常做一些不允许的事情会导致程序崩溃或产生某种错误)。
但是,bug check 0xED可以由用户模式进程直接引起。如果csrss.exe
进程被终止(在Windows Vista及更高版本中也被wininit.exe
),它将蓝屏计算机。
如Mark Russinovich在2005年的文章 winlogon.exe
中解释的那样,首先杀死bug check 0xC000021A可能会导致smss.exe
而不会导致Running Windows with No Services:< / p>
我们使用Smss.exe启动[kill processes]的原因是Smss.exe监视Winlogon的后面,它在启动过程中创建的进程,所以如果你终止Winlogon,首先Smss.exe会被沮丧并且蓝屏会机器带有错误,指示Windows登录进程意外终止。