반응형

예~~전에 있었던 어떤 사소한 계기로 인해 작업을 할 때마다~ 핸들에 대한 신경을 제법 쓰곤 합니다.
오늘도 이것저것 테스트를 하던 중에~ 제가 작성한 프로그램의 핸들수가 계속 증가하는 걸 보고~
꽤나 속쓰린(?) 마음으로 나름대로 원인을 찾아봤습니다.

처음에는 제가 코드 작성을 잘못한 줄 알았는데... 그게 아니더군요.;;;
제가 작성한 프로그램 뿐만 아니라~ 다른 프로그램들도 계속해서 핸들수가 증가하는 걸 보고는..
한 편으로는 코딩 실수가 아니라서 안심을 했지만, 다른 한 편으로는 시스템에 뭔가 문제가 있는건가 싶어~
굉장히 찜찜했습니다...;;;
( 참고로 프로세스가 포커스를 새로 받을 때마다 핸들수가 증가를 하는 상황이;;;; )

살펴본 결과, 핸들이 계속 증가하는 건 IME 랑 연관이 있는 듯 했습니다.
"정확히 이거다!!" 라고 할 수는 없지만, IMJKAPI.DLL, IMKRAPI.DLL, IMETIP.DLL, IMKRTIP.DLL 이 로딩된~
프로세스들의 경우 핸들이 증가하는 문제가 발생하더군요;;;

< 그림.01 > 핸들수 증가의 주범(?) IMEKR 레지스트리



모니터링 툴을 돌려봤더니~ RegOpenKey 로 키를 열고는 있지만 RegCloseKey 로 닫지를 않네요;;;

< 그림.02 > 레지스트리 모니터링 캡쳐



제 나름의 테스트로는 Office 2007 설치시 IME 까지 설치를 한 경우 문제가 발생했습니다.
일단 제가 사용하고 있는 Windows7 에서는 문제가 발생했지만, Vista 나 XP 는 어떨지 장담할 수가 없습니다 ^^;;;

이렇게 셋팅해두고 쓴지 몇 개월이나 됐는데~ 오늘에서야 요런 문제가 있는 걸 알았네요..
조금 전에 부랴부랴~ Office 2007 버전의 IME 를 제거를 했더니 문제가 발생하지 않는군요~~ 흐흐 : )

Windows7Office 2007 (IME 까지)을 설치하신 분들은 참고하시면(?) 될 듯 합니다~ : )
근데... Windows7 에다가 Office 2007 (IME 까지) 설치하신 분들 중~~
이런 문제가 발생하지 않은 분 계신가요~~?? +_+



반응형
AND