Pergunta

MSDN descreve UnhandledExceptionFilter do seguinte modo: "Uma função definida pelo aplicativo que passa exceções não tratadas ao depurador, se o processo estiver sendo depurado".

Mas essa função é claramente fornecida pelo sistema operacional, no kernel32.dll de acordo com a mesma página.

Então, por que eles chamam isso uma função definida pelo aplicativo?

Foi útil?

Solução

Sim, linguagem muito estranha. É um protótipo Definição de uma função. Que você pode usar com a palavra -chave __Except ou como argumento para setUnHandledExceptionFilter (). Ou tornaria o seu uma 'função definida pelo aplicativo'.

Há um manuseio padrão, se você não o fizer, o depurador para automaticamente em uma exceção não atendida. O que eu suponho é o que eles queriam dizer com "isso passa exceções ao depurador". Os documentos do SDK para SEH merecem uma nota falhada geral.

Outras dicas

O próprio UnhleDExceptionFilter () não é uma função própria fornecida pelo kernel (embora o kernel implemente sua própria implementação padrão que é usada até você substituí -lo por conta própria). A documentação do UNHandLedExceptionFilter () que você cita descreve um protótipo de função que você deve seguir se optar por implementar sua própria função e passá -la para a função setUnHandLedExceptionFilter () para ativá -la dentro do kernel.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top