据我所知,该特定错误已在 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.
硬件设备由其驱动程序管理,捕获设备错误是其驱动程序职责的一部分。驱动程序可以使用专用的内核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.
发布评论
评论(2)
据我所知,该特定错误已在 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.
硬件设备由其驱动程序管理,捕获设备错误是其驱动程序职责的一部分。驱动程序可以使用专用的内核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.