Отключить Microsoft Visual C ++ Runtime Ошибка - PullRequest
6 голосов
/ 21 декабря 2009

Если мое приложение дает сбой, библиотека времени выполнения Microsoft Visual C ++ «Ошибка времени выполнения!» происходит.

Текст сообщения:
В этом заявлении было запрошено завершение среды выполнения необычным способом.
Пожалуйста, обратитесь в службу поддержки приложения для получения дополнительной информации.

Я знаю, что мне нужно решить все эти проблемы, но я полагаю, что эта ошибка не появлялась в прошлом. Есть ли в Visual Studio 2005 возможность включить / отключить такую ​​ошибку (обработку)? Вместо этого я ожидаю, что приложение просто рухнет / выйдет и предложит отчет об ошибках Microsoft Windows.

Ответы [ 2 ]

9 голосов
/ 21 декабря 2009

Это сообщение об ошибке появляется, если исключение не обрабатывается и вызывается unexpected() или если исключение избегает деструктора во время разматывания стека и вызывается terminate(). Оба приводят к вызову abort() и его реализации abort(), которая показывает окно сообщения. Такое поведение предусмотрено в VS2k3, VS2k5 и VS2k8. Это действительно раздражает, особенно в приложениях, предназначенных для запуска без участия человека (например, в ежедневных сборках).

Вы можете обойти это поведение - используйте catch(...) для перехвата всех исключений на верхнем уровне и установите свой собственный обработчик terminate(), используя set_terminate().

0 голосов
/ 27 сентября 2017

использование:

_set_abort_behavior( 0, _WRITE_ABORT_MSG);
...