estrutura RUNTIME_FUNCTION
Manipulação de exceção baseada na tabela requer uma entrada de tabela para todas as funções que alocar espaço de pilha ou chamar outra função (por exemplo, funções de não-folha). Entradas de tabela de função têm o formato:
ULONG |
Endereço de início da função |
ULONG |
Endereço de final de função |
ULONG |
Endereço de info de desenrolamento. |
A estrutura RUNTIME_FUNCTION deve ser DWORD alinhado na memória. Todos os endereços são relativa da imagem, ou seja, eles são os deslocamentos de 32 bits do endereço inicial da imagem que contém a entrada da tabela de função. Essas entradas são classificadas e colocar na seção .pdata de uma imagem PE32 +. Para funções de gerado dinamicamente [compiladores JIT], o runtime para oferecer suporte a essas funções deve usar RtlInstallFunctionCallback ou RtlAddFunctionTable para fornecer essas informações para o sistema operacional. Falha ao fazer isso resultará na não-confiável manipuladores de exceção e depuração de processos.
Consulte também
Referência
Desenrolar dados para manipulação de exceção, suporte a depurador