何时在BSOD之后写入内存转储?

时间:2011-07-08 17:14:33

标签: bsod windows-xp-embedded

我有一台定期BSOD的机器。我配置了完整的内存转储。有时,在BSOD之后重新启动时,机器会在黑屏上坐几分钟,然后最终到达窗口。我的同事刚刚发现,在这段时间内,机器正在将完整的内存转储写入磁盘。

他通过在BSOD上关闭机器,将驱动器作为从属设备插入,看到没有转储文件,将其重新插入机器,看到黑屏几分钟,然后找到磁盘上的内存转储。

所以我的问题是,这在内部如何运作?我发誓我已经看到BSOD本身告诉我它正在使用计数器将转储文件写入磁盘。

3 个答案:

答案 0 :(得分:1)

虽然我不确定,它可能在显示屏幕时必须将RAM写入磁盘,但是当它重新启动时,它会将剩余的进程内存空间从交换文件中拉出来以创建完整的核心转储。

答案 1 :(得分:1)

发生的事情是BSOD用内存的全部内容覆盖页面文件,以避免在发生严重系统错误后进行任何复杂的处理(请记住,BSOD的原因可能会损坏任何堆,代码,卸载司机等,所以BSOD基本上不能依赖任何东西)。当系统重新启动时,它会发现页面文件已被标记为BSOD,然后设置将RAW转储转换为minidump文件,可由Microsoft的崩溃报告服务器或驱动程序开发人员分析WinDbg中的故障转储或Visual Studio。

答案 2 :(得分:0)

这是我第一次听到这样的话。我虽然在显示BSOD时转储始终在写。您可以尝试以详细模式连接内核调试器并找出发生的情况。