作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在IDA的RUNTIME_FUNCTION结构的.pdata段中找到了一个大数组。
因此,在哪里可以找到信息:从信息的编译,如何创建以及如何在C++中使用信息。
请给我书籍,或提供具有良好描述和教程的链接,以使用此结构处理异常和解散异常。
最佳答案
您可以在Microsoft's MSDN上找到有关RUNTIME_FUNCTION和相关结构的更多信息。
这些结构由编译器生成,并用于实现structured exception handling。在执行代码期间,可能会发生异常,并且运行时系统需要能够在调用堆栈中向上移动以找到该异常的处理程序。为此,运行时系统需要知道函数序言的布局,并保存它们的寄存器,以便正确展开各个函数栈框架。更多细节是here。
RUNTIME_FUNCTION是描述单个功能的结构,它包含展开该功能所需的数据。
如果您在运行时生成代码,并且需要将该代码提供给运行时系统使用(因为您的代码调用了可能会引发异常的已编译代码),那么您将为每个生成的函数创建RUNTIME_FUNCTION实例,请为每个,然后通过调用UNWIND_INFO告诉运行时系统。
关于c++ - 结构RUNTIME_FUNCTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19808172/
我是一名优秀的程序员,十分优秀!