2009-12-21 8 views
6

응용 프로그램이 충돌하는 경우 Microsoft Visual C++ 런타임 라이브러리 "런타임 오류!" 발생합니다.Microsoft Visual C++ 런타임 오류 비활성화

메시지의 텍스트는 다음과 같습니다.
이 응용 프로그램은 비정상적으로 종료되도록 런타임을 요청했습니다.
자세한 내용은 응용 프로그램 지원 팀에 문의하십시오.

나는이 모든 문제를 해결해야한다는 것을 알고 있지만이 오류가 과거에는 나타나지 않았다고 생각합니다. Visual Studio 2005에서 이러한 오류 (처리)를 활성화/비활성화 할 수있는 옵션이 있습니까? 대신 응용 프로그램이 충돌/종료되고 Microsoft Windows 오류 보고서를 제공 할 것으로 예상됩니다.

+0

나는 당신의 프로그램이 몇 가지 측면 즉 이제 컴파일러 변경 구절 잘못된 오류 메시지가 주어 시작했다 영향이 기대합니다. –

답변

9

이 오류 메시지는 예외가 처리되지 않고 unexpected()이 호출되거나 스택 되감기 중에 예외가 이스케이프 처리되고 terminate()이 호출되면 나타납니다. 둘 모두는 abort()을 호출하고 메시지 상자를 표시하는 abort() 구현을합니다. 이 동작은 VS2k3, VS2k5 및 VS2k8 의도적으로 설계된 것입니다. 인간의 개입없이 (예를 들어 일일 빌드와 같이) 실행해야하는 응용 프로그램에서는 특히 성가신 일입니다.

이 문제를 해결할 수 있습니다. catch(...)을 사용하면 최상위 레벨에서 모든 예외를 catch하고 set_terminate()을 사용하여 자신의 terminate() 처리기를 설정할 수 있습니다.

0

사용 :

_set_abort_behavior(0, _WRITE_ABORT_MSG); 
관련 문제