Это своего рода вопрос очень низкого уровня, но, возможно, у кого-то здесь есть какое-то понимание ...
У меня возникла проблема, при которой необработанные исключения SEH (такие как нарушения прав доступа), по-видимому, обнаруживаютсяна уровне диспетчеризации сообщений Win32 вместо завершения программы.Я нашел следующий справочный блог, который объясняет проблему, но только в контексте сообщений WM_TIMER: http://bugswar.blogspot.com/2010/07/why-its-not-crashing.html
У меня проблема с Win 2008R2 и с "обычными" сообщениями (например, WM_COMMAND)., так далее.).Я подозреваю, что это может быть Windows, пытающаяся «помочь» путем маскировки исключений, но я хочу, чтобы она выдавала ошибку;поведение «продолжить и игнорировать» вызывает проблемы с приложением в целом.Я понимаю, что мог бы попытаться обернуть каждую функцию в try / catch и использовать опцию компилятора / EHa для преобразования исключений SEH в исключения C ++ (что само по себе крайне нежелательно и опасно), но это, очевидно, неоптимально.
Согласно ссылочному блогу, в AppCompatFlags2 в структуре TIB есть флаг (http://en.wikipedia.org/wiki/Win32_Thread_Information_Block)), который может привести к тому, что обработчик Win32 не будет перехватывать / исключать исключение SEH, но я не знаю, как его установить / включить.Кто-нибудь есть какие-либо идеи по этому поводу? Есть ли параметр AppCompat, который я могу включить, чтобы Windows не перехватывать и игнорировать исключения?