如何检测导致GPF的过程?
最佳答案
我不确定我是否理解您的问题。 GPF-处理器发出中断的情况。
如果这是在用户模式下发生的,则将其转换为SEH异常,该异常又可以由流程处理。如果不处理-进程“崩溃”。意思是-显示一个丑陋的消息框并终止进程(取决于设置,还可以调试进程,生成调试转储等)
如果这是在内核模式下发生的,则有两种可能性。如果这是在允许异常(exception)的情况下发生的,则引发并处理SEH异常(exception)(类似于用户模式)。但是,如果未处理异常,或者发生GPF的上下文不允许出现异常,则操作系统将关闭,并显示所谓的BSOD(死亡蓝屏)。
现在关于您的问题,我看到几种可能性:
使用附加的内核调试器可以发现。您还将看到导致错误的驱动程序。
该过程将崩溃,您肯定会知道是哪个过程。
为此,您可以使用调试器附加到进程。每当进程内发生SEH异常时,操作系统就会通知调试器。