struct RUNTIME_FUNCTION
表格架構的例外狀況處理 (Exception Handling) 需要所有配置堆疊空間或呼叫另一個函式 (例如非分葉的函式) 之函式的表格項目。 函式表項目格式為:
ULONG |
函式開始位址 |
ULONG |
函式結束位址 |
ULONG |
回溯資訊位址 |
RUNTIME_FUNCTION 結構在記憶體中必須對齊 DWORD。 所有的位址是相對於影像的,也就是說,是從包含函式表項目之影像開始位址計算的 32 位元位移 (Offset)。 這些項目是已排序的,並放置於 PE32+ 影像的 .pdata 區段。 對於動態產生的函式 (JIT 編譯器),支援這些函式的執行階段必須使用 RtlInstallFunctionTableCallback 或 RtlAddFunctionTable,將這項資訊提供給作業系統。 如果無法提供這項資訊,會導致不可靠的例外狀況處理和處理序 (Process) 偵錯。