用户模式故障是否会导致蓝屏死机?

时间:2013-07-31 07:50:17

标签: windows debugging bsod

用户模式故障是否会导致Blue Screen of Death(BSOD)?是否有可能导致内存访问冲突(如双重释放内存)导致蓝屏或仅内核模式异常(如驱动程序异常)导致Windows崩溃?

2 个答案:

答案 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登录进程意外终止。

这是用户模式应用程序直接导致蓝屏的唯一情况。