Что именно определяется приложением в UnhandledExceptionFilter? - PullRequest
2 голосов
/ 31 августа 2010

MSDN описывает UnhandledExceptionFilter следующим образом: "Определяемая приложением функция, которая передает необработанные исключения отладчику, если процесс отлаживается."

Но эта функция явно предоставляется ОС в kernel32.dll в соответствии с той же страницей.

Так почему они называют это определяемой приложением функцией ?

Ответы [ 2 ]

3 голосов
/ 31 августа 2010

Да, очень неловкий язык.Это прототип определения функции.Который вы можете использовать с ключевым словом __except или в качестве аргумента для SetUnhandledExceptionFilter ().Любой из них сделает вашу функцию определяемой приложением.

Если вы ничего не сделаете, обработка по умолчанию выполняется, отладчик автоматически останавливается на необработанном исключении.Я полагаю, что они имели в виду под «тем, что передает исключения отладчику».Документы SDK для SEH заслуживают всесторонней оценки.

1 голос
/ 31 августа 2010

UnhandledExceptionFilter () сама по себе не является собственной функцией, предоставляемой ядром (хотя ядро ​​действительно реализует свою собственную реализацию по умолчанию, которая используется, пока вы не переопределите ее своей собственной).В документации UnhandledExceptionFilter (), которую вы цитируете, описывается прототип функции, которому вы должны следовать, если решите реализовать собственную функцию и передать ее в функцию SetUnhandledExceptionFilter (), чтобы активировать ее в ядре.

...