Другие ответы и комментарии на вопрос очень помогли.Вот что я сделал.
Я заметил, что если я запускаю программу под отладчиком Visual Studio, она просто молча завершается, но если я запускаю ее без отладчика, она вылетает с окном сообщения (обычное окно сообщения Windows, в котором говорится, что я потерял)мои несохраненные данные, и все ооочень извините).
Итак, я запустил программу без отладчика, разрешил ее сбой, а затем - пока окно с сообщением было еще там - подключил отладчик и нажал «Break».Вот стек вызовов:
ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_ZwWaitForMultipleObjects@20() + 0xc bytes
kernel32.dll!_WaitForMultipleObjectsEx@20() - 0x48 bytes
kernel32.dll!_WaitForMultipleObjects@16() + 0x18 bytes
faultrep.dll!StartDWException() + 0x5df bytes
faultrep.dll!ReportFault() + 0x533 bytes
kernel32.dll!_UnhandledExceptionFilter@4() + 0x55c bytes
//SomeThirdPartyLibraryFunctionAddress
//SomeThirdPartyLibraryFunctionAddress
//SomeThirdPartyLibraryFunctionAddress
//SomeThirdPartyLibraryFunctionAddress
//OurCodeInvokingThirdPartyLibraryCode
, поэтому очевидно, что это какая-то проблема внутри сторонней библиотеки.Согласно MSDN, UnhandledExceptionFilter()
вызывается в фатальных ситуациях, и очевидно, что вызов выполняется из-за некоторой проблемы в коде библиотеки.Поэтому сначала мы попытаемся решить проблему с поставщиком библиотеки.