【发布时间】:2012-08-21 20:53:23
【问题描述】:
是否可以通过监控 IDT(中断描述符表)来了解异常发生(在用户模式和内核模式下)?
【问题讨论】:
标签: windows exception exception-handling kernel usermode
是否可以通过监控 IDT(中断描述符表)来了解异常发生(在用户模式和内核模式下)?
【问题讨论】:
标签: windows exception exception-handling kernel usermode
是的,这是可能的。但是,实际实现只能在内核模式中完成。
监控硬件异常需要一个挂钩到IDT中的中断。这将需要对 IDT 的写入权限。在Windows 中,包括任何受保护模式的操作系统,必须在内核模式 中使用设备驱动程序 完成。
在用户模式中,必须在设备驱动程序的帮助下完成,其中报告给用户的异常模式 应用程序。因此可以在用户模式中间接监控异常。这意味着 用户模式 应用程序并不是真正监控异常的应用程序。
【讨论】: