멀티 쓰레드 어플 디버그 데드락 현상 해결하기

요즘들어 네뷸라3 분석을 하는데 있어서 자꾸 OS가 멈추고( 완전 멈추는건 아니고 1분에 한번 윈도우 이벤트 발생할까 말까한 정도로 버버벅... ) 당연히 OS가 느려지니 디버그 중인 것도 응답없음 상태로 돌입을 하더군요. 뭔가 했더니 이게 그 유명?한 데드락 현상이라고 하네요. 메인 쓰레드 말구 추가로 쓰레드가 돌아가는 어플들은 다 이렇다는데 정말이지 죽을 맛이더군요. 작업관리자 열어서 디버그 중인 네뷸라3 프로젝트를 강제 종료할려고도 해봤지만 왠걸.. 작업관리자 자체가 뜨는데도 버버버벅...그래서 재부팅하고 다시 디버그... 5분도 안되 또 데드락 걸리고 재부팅...또 걸리고 재부팅...;;; 네뷸라3가 쓰레드가 많이 돌아가서 이런 환경에서의 개발은 또 첨( 네트워크는 몇년전 학원 다니던 시절 1달 공부한것 말고는... )이라 당황스러웠죠.

그래서 검색을 해봤습니다. 일단 MS의 IME쪽 버그라고 합니다. ctfmon과 IME랑 엮이면서 문제가 발생한다고 하네요. 오피스를 설치하면 더 이런 현상이 발생한다고 합니다. 일단 해결법이라고 해서 정리는 해보겠는데 정말 이걸로 해결이 되는건지 의구심이 들더군요. 

 일단 제어판의 '국가 및 언어 옵션'을 실행합니다.

 '언어' 탭에서 자세히를 누릅니다.

'고급' 탭에서 '고급 텍스트 서비스 사용 안 함'을 체크 합니다. 이걸 체크하면 기존에 실행 되어있는 창에 한글입력이 안된다는데 그 것들을 다시 실행하면 아무 이상없이 한글 입력은 되더군요. 

지금 글 작성하는 중에도 다시 디버그를 해보았는데 데드락은 안 걸리고 있네요. 정말 이렇게 해결이 되는건가? 이렇게 간단히 해결할꺼면 MS에서 서비스팩으로 업데이트 패치를 하지 않았을까하는 생각도 드는데 말이죠. 그리고 이 데드락은 MS의 Windows에서만 걸리는 건지도 궁금하네요. 다른 OS에서 개발은 안해봐서. 계속 데드락 안 걸리고 잘 되었으면 좋겠는데 해결이 제대로 된건지 만건지 모르겠습니다.

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.