Предположительно, вы запускаете его из Visual Studio, и по какой-то причине он не останавливается в отладчике с неперехваченным исключением, и в этом случае вы можете попытаться поймать сбой извне Visual Studio.См. Мой ответ на System.AccessViolationException из неуправляемого кода? , в частности , как перехватить аварийный дамп .
Если он происходит только периодически, но в течение достаточно короткого промежутка временипериод времени, начинающийся с Sysinternals procdump .Запустите свой исполняемый файл из-за пределов Visual Studio, затем запустите:
procdump -e <YourExecutableNameOrPid>
и подождите, пока он соберет аварийный дамп - при условии, что он завершится из-за необработанного исключения - затем загрузите аварийный дамп в VS 2010 или WinDbg.