如何分析BSOD以及它将为我提供的错误信息?

Wim*_*ink 8 bsod

好吧,幸运的是我没有编写很多导致BSOD的应用程序,但我只是想知道这个屏幕上信息的有用性.它是否包含任何可以帮助我在代码中找到错误的有用信息?如果是这样,我到底需要什么?

然后,系统重新启动,可能已在某处向系统写入了一些错误日志或其他信息.它在哪里,它包含什么以及如何使用它来改进我的代码?

过去,当我与PBX系统进行交互时,我确实经常得到一个BSOD,因为它的驱动程序的文档数量不存在,所以我不得不做一些试错编码.幸运的是,我现在为另一家公司工作,并且由于我的代码而没有看到任何BSOD.

Stu*_*lar 6

如果你想要一个相当简单的方法来找出导致操作系统崩溃的原因,那么大约90%的时间都会有效 - 假设你有可用的崩溃转储 - 那么请尝试以下方法:

  • 下载WinDbg作为Windows软件包调试工具的一部分
  • 运行WinDbg
  • 从文件菜单中选择"打开崩溃转储"
  • 当转储文件已加载类型"analyze -v"并按Enter键
  • WinDbg将对崩溃进行自动分析,并在崩溃时提供有关系统状态的大量信息.它通常能够告诉您哪个模块有故障以及导致崩溃的错误类型.您还应该获得可能对您有帮助或可能没有帮助的堆栈跟踪.

请注意,如果希望堆栈跟踪为您提供函数名称,则必须在WinDbg中配置符号.

如果自动分析不充分,那么WinDbg提供了各种命令,使您能够准确计算崩溃时发生的事情.帮助文件是在此方案中启动的好地方.