프로그램에서 실수로 뮤텍스 핸들 (이미 닫힌 핸들을 닫음)에서 closeHandle()
을 두 번 호출했습니다.특정 예외 오류는 디버거에서만 발생합니까?
디버거에서 코드를 실행할 때 예상대로 예외 오류 An invalid HANDLE was specified.
가 표시됩니다.
그러나 프로그램을 "독립 실행 형"(디버거 외부)으로 실행하면 예외가 나타나지 않거나 다른 오류가 발생합니다. 프로그램이 정상적으로 실행되는 것 같습니다.
이 설정은 Visual Studio .NET 2003에 있습니까? 아니면 뒤에 있습니까?
이는 closeHandle()의 동작을 문서화 한 것입니다. http://msdn.microsoft.com/en-us/library/ms724211%28v=vs.85%29.aspx를 참조하십시오. "응용 프로그램이 디버거에서 실행중인 경우 함수는 다음 중 하나를 받으면 예외를 throw합니다. 유효하지 않은 값 또는 의사 처리 값을 처리하십시오. " – user168715
아마도 VS .NET에서 디버그 빌드를 실행하고 있지만 두 번 클릭하여 릴리스 빌드를 실행하고 있습니까? –
나는 assert와 비슷한 동작을 보았다. 조건부 컴파일이 가능합니다. –