这是一个简单的问题。有时 Windows 会停止一切并抛出 BSOD。游戏结束,请重新启动以进行另一场比赛。管他呢。烦人但不是特别严重...
我想要的很简单。我想在它发生时抓住它。为什么?只是为了一些额外的崩溃记录。系统变蓝没关系,但是当它发生时,我只想记录一些额外的信息或执行一项额外的操作。
这甚至可能吗?如果是这样,怎么做?限制是什么?
顺便说一句,当系统恢复时我不想做任何事情,我想在它发生时抓住它。这让我可以采取最后的行动。(例如,在系统关闭之前刷新文件。)
这是一个简单的问题。有时 Windows 会停止一切并抛出 BSOD。游戏结束,请重新启动以进行另一场比赛。管他呢。烦人但不是特别严重...
我想要的很简单。我想在它发生时抓住它。为什么?只是为了一些额外的崩溃记录。系统变蓝没关系,但是当它发生时,我只想记录一些额外的信息或执行一项额外的操作。
这甚至可能吗?如果是这样,怎么做?限制是什么?
BSOD 的发生是由于 Windows 内核中的错误或更常见的错误设备驱动程序(在内核模式下运行)。您对此无能为力。如果是驱动问题,你可以希望供应商解决它。
您可以将 Windows 配置为在 BSOD 上创建内存转储,这将帮助您解决问题。!analyze
通过将转储加载到 WinDbg 并使用命令,您可以很好地了解故障驱动程序。
知道是哪个驱动程序导致了问题,您可以寻找新的驱动程序,但如果这不能解决问题,那么您几乎无能为力(除非您非常擅长使用十六进制编辑器)。
更新:如果你想在它发生时调试它,你需要调试内核。获取更多信息的好地方是Mark Russinovich的Windows Internals一书。另外,我相信 WinDbg 的帮助文件中有一些信息,并且设备驱动程序工具包中也一定有一些信息(但这超出了我的知识范围)。
数据存储在所谓的“Minidumps”中。
然后,您可以使用调试工具来探索这些转储。该过程记录在这里http://forums.majorgeeks.com/showthread.php?t=35246
你有两种方法可以弄清楚发生了什么:
第一个是将位于 C:\Minidump***.dmp 下的 dmp 文件上传到他们描述的微软服务:http: //answers.microsoft.com/en-us/windows/wiki/windows_10-update/blue -screen-of-death-bsod/1939df35-283f-4830-a4dd-e95ee5d8669d
或者使用他们的软件调试器 WinDbg 来读取 dmp 文件
注意:您会发现几个文件,您可以使用包含事件日期的名称来区分。
第二种方法是从蓝屏中记录错误代码,并在谷歌和微软网站上进行搜索。
第一种方法更准确、更有效。
Windows 可以配置为在蓝屏上创建故障转储。
以下是更多信息: 如何读取 Windows 为调试创建的小型内存转储文件 (support.microsoft.com)