CLR에서 60초 동안 COM 컨텍스트 0x179930에서 COM 컨텍스트 0x179b58(으)로 전환하지 못했습니다.

비쥬얼스튜디오를 사용하면서 아래오류를 만나면 당황하실듯 한데요. 저역시도 뭔가를 잘못했나 생각이 들었네요. 비동기 메서드 테스트를 하던도중 응답이 늦어지면서 문제가 생기게 되었습니다.

 

 

비쥬얼 스튜디오에서는 쓰레드의 시간관리를 하고 있습니다. 응답대기가 60초이상 지연이 될경우 문제가 있는 것으로 파악하여 아래처럼 오류 메세지를 나타내게 되는데요. 소스자체의 문제가 아닌 통신상의 문제등으로 인하여 지연이 생기는 경우는 딜레이시간을 길게 줄수밖에 없는데 이런 오류가 생기면 곤란하겠죠..

 

오류내용

CLR에서 60초 동안 COM 컨텍스트 0x179930에서 COM 컨텍스트 0x179b58(으)로 전환하지 못했습니다. 

이런 오류가 생기면서 어플리케이션이 디버그모드에서 중단이 되어 버립니다. 메모리 문제인건 알겠는데 어떻게 처리해야 할지 막막한 생각이 듭니다.

 

 

해결방법은 간단합니다. 디버그모드에서만 생기는 오류로서 디버그 메뉴에서 ContextSwitchDeadlock 항목의 Thrown 체크를 해제 해주시면 됩니다.

 

어플리케이션 중단모드

1. 디버그 항목의 창 - 예외설정으로 진입해주세요.

2. 예외설정의 ContextSwitchDeadlock을 체크해제 해주시면 됩니다.

간단하게 비쥬얼스튜디오 응용프로그램 오류를 해결해보았습니다. 하나하나 배워가는것도 재미있는거죠ㅎㅎ