作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我发现了 SEH 的访问冲突,我该如何获取冲突地址? GetExceptionInformation给我LPEXCEPTION_POINTERS包含
如何在不编写转储的情况下获取此信息?
最佳答案
内存地址以及操作类型包含在 ExceptionRecord 结构中的 ExceptionInformation 字段中。来自 MSDN :
异常信息
描述异常的附加参数数组。 RaiseException 函数可以指定这个参数数组。对于大多数异常代码,数组元素是未定义的。下表描述了定义了数组元素的异常代码。
异常代码含义
EXCEPTION_ACCESS_VIOLATION
数组的第一个元素 包含一个读写标志,指示导致访问冲突的操作类型。如果此值为零,则线程试图读取不可访问的数据。如果此值为 1,则线程试图写入不可访问的地址。如果此值为 8,则线程会导致用户模式数据执行保护 (DEP) 冲突。
第二个数组元素指定不可访问数据的虚拟地址。
关于c++ - 从 EXCEPTION_RECORD 获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8012598/
如果我发现了 SEH 的访问冲突,我该如何获取冲突地址? GetExceptionInformation给我LPEXCEPTION_POINTERS包含 ExceptionRecord - 指向 EX
我是一名优秀的程序员,十分优秀!