Windows 如何记录硬件错误?

发布于 2024-12-13 18:25:28 字数 1459 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烏雲後面有陽光 2024-12-20 18:25:28

据我所知,该特定错误已在 CPU 内部标记。特定标志是 MCE_FLAG,并且可以使用 CPUID 轮询 CPU 以获取该标志的内容。不太适合汇编程序员,但我认为英特尔架构书籍(在英特尔网站上免费)应该有更多内容。请参阅 CPUID 函数。

As far as I know, that particular error is flagged internally in the CPU. The particular flag is MCE_FLAG, and the CPU can be polled for its content of this flag using CPUID. Not much of an assembly programmer, but I think the Intel architecture books (free on Intel's site) should have something more. See the CPUID function.

一个人的旅程 2024-12-20 18:25:28

硬件设备由其驱动程序管理,捕获设备错误是其驱动程序职责的一部分。驱动程序可以使用专用的内核API将与错误相关的数据写入Windows错误日志。应用程序可以解析日志,但为了理解错误事件数据,需要了解与故障设备相关的专有信息(该信息要么在文档中可用,要么未记录)。如果驱动程序是由 MS 实现的,事件查看器能够呈现错误的含义,而无需额外的解析 - 就像问题中一样。

HW devices are being managed by their drivers and capturing device errors is part of its driver responsibility. The driver can use the dedicated kernel API to write the data related to the error into Windows error log. The log can be parsed by applications but in order to understand the error event data there is a need to know the proprietary information related to the faulting device (the info is either available in the documentation or it's undocumented). In case the driver was implemented by the MS, the event viewer is capable to present the meaning of an error without additional parsing - just like in the question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文