2

我有一台定期蓝屏的机器。我配置了完整的内存转储。有时,在 BSOD 之后重新启动时,机器会在黑屏上停留几分钟,然后最终出现 Windows。我的同事最近才发现,在这段时间里,机器正在将完整的内存转储写入磁盘。

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

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

4

3 回答 3

1

While I don't know for sure, its possible that it has to write RAM to disk while displaying the screen, but when it reboots, it pulls the rest of the process memory space out of the swap file to create the full core dump.

于 2011-07-08T17:18:24.797 回答
1

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

于 2012-03-13T00:40:33.187 回答
0

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

于 2012-01-30T14:39:58.847 回答