Partilhar via


Encadeadas desenrolar estruturas de informações

Se o sinalizar UNW_FLAG_CHAININFO é conjunto, em seguida, uma estrutura de informações de desenrolamento é secundária e contém um ponteiro relativos a imagem no exceção compartilhada manipulador/encadeadas info campo de endereço que aponta para a entrada RUNTIME_FUNCTION apontando para as informações de desenrolamento principal.

Info encadeado é útil em duas situações.Primeiro, ele pode ser usado para segmentos de código não-contíguos.Usar informações encadeada pode reduzir o dimensionar das informações de desenrolamento necessária, porque não há necessidade de duplicar a matriz de códigos de desenrolamento da info desenrolamento principal.

Info encadeado também pode ser usado para manipular reduzir-wrapping do registro volátil salva.O compilador pode optar por atrasar salvar alguns registradores volátil até fora da função entrada prólogo.Podem ser registrado por ter informações de desenrolamento primária para a parte da função antes do código têm embalagem e, em seguida, configurar encadeadas informações com um dimensionar diferente de zero de prólogo, onde os códigos de desenrolamento info encadeada refletem poupa de registros não-volátil.Nesse caso, os códigos de desenrolamento todos serão instâncias de UWOP_SAVE_NONVOL.reduzir-wrapping que salva não-volátil não há suporte para registros usando um PUSH e reduzir-wrapping que modifica o RSP com uma pilha fixa adicional alocação também não é permitida.

É possível que um item UNWIND_INFO com UNW_FLAG_CHAININFO definida para apontar para uma entrada RUNTIME_FUNCTION cujo item UNWIND_INFO também tem UNW_FLAG_CHAININFO definido (reduzir-wrapping várias).Eventualmente, seguindo o encadeada desenrolar info ponteiros chegarão em um item UNWIND_INFO com UNW_FLAG_CHAININFO desmarcada, qual é o item UNWIND_INFO principal apontando para o ponto de entrada do procedimento real.

Consulte também

Referência

Desenrolar dados para exceção Handling, suporte do depurador