RUNTIME_FUNCTION 结构

基于表的异常处理需要一个面向分配堆栈空间或调用其他函数的所有函数(例如,非叶函数)的表项。 函数表项的格式为:

ULONG

函数起始地址

ULONG

函数结束地址

ULONG

展开信息地址

RUNTIME_FUNCTION 结构在内存中必须为 DWORD 对齐。 所有地址都与映像相关,即相对于包含函数表项的映像起始地址有 32 位的偏移量。 这些项已经过排序,放置在 PE32+ 映像的 .pdata 节中。 对于动态生成的函数 [JIT 编译器],要支持这些函数的运行时必须使用 RtlInstallFunctionTableCallback 或 RtlAddFunctionTable,以便向操作系统提供此信息。 如果不能满足此要求,则会导致不可靠的异常处理和进程调试。

请参见

参考

为异常处理和调试器支持展开数据