MFC의 GDI/GDI+ 리소스 누수 현상

31395 
Created at 2006-12-27 00:17:09 
347   0   0   0  

 http://support.microsoft.com/kb/319740/

 위 KB 문서를 보시면 Windows XP SP2 와 Windows Server 2003 에서 테마를 사용하는 경우 MFC로 작성된 프로그램에서 GDI 리소스 누수가 나타난다고 설명이 되어 있습니다.

저도 직접 테스트 해보았는데 이상하게도 테마가 켜져 있고 MFC를 사용하는 경우에만 나타납니다. 리소스 누수 때문에 디버거와 데브 파트너 같은 프로그램 붙잡고 고생 하시는 분이 혹시 계실 까봐 올려봅니다.

참고로 영문 KB 페이지에는 이에 대한 Hot Fix 다운로드 링크가 있습니다.

Re: ----------------------------------------------------------------------

어떻게 체크해봐야 하죠?
CFileDialog 를 DoModal로 여러번 열었다 닫았다 한 후에,
어플리케이션 종료하고 디버그 창을 봤는데, 메모리 릭은 안나타나는데요...

Re: ----------------------------------------------------------------------

메모리 릭이 아닌 GDI 핸들 릭입니다.
KB 문서에 적힌 대로 차일드 윈도를 생성/삭제를 반복 해서 실행 하면
GDI 핸들 갯수가 4~8개 씩 올라 가고 안 내려 가는 것을 작업관리자에서
확인 하실 수 있을 겁니다.

Re: ----------------------------------------------------------------------

오옷. 확인했습니다.
그런데... 업데이트 나올때까지 그냥 살아야 하나 봐요...? ㅋㅋ
정보 감사합니다.

Re: ----------------------------------------------------------------------

문제가 되는 부분이 XP의 테마 관련 DLL 인 Uxtheme.dll 에 있기 때문에
우리 Application 개발자가 크게 해줄 수 있는게 없네요. 사용자에게 해당
패치를 설치 하게금 하는 것 외엔..
아마 XP Service Pack 3 가 나올 때 쯤이면 한꺼번에 패치 되겠죠..

Re: ----------------------------------------------------------------------

아! 이런 어처구니없는... 그런줄도 모르고 다른 사람을 의심했다는...
개발자가 할 수 있는거라곤 XP테마를 지원하지 않는거로군요 ㅋㅋ



Tags: GDI+ 윈도우즈 Share on Facebook Share on X

◀ PREVIOUS
JSP 페이지 이동 4가지 방법 및 특성
▶ NEXT
GDI+를 이용한 회전 3가지....
  댓글 0
로그인을 하시면 댓글을 등록 할 수 있습니다.
SIMILAR POSTS

GDI+를 이용한 회전 3가지.... (created at 2006-12-27)

VC++ 6.0 에서 GDI+ 사용하기.. (created at 2006-12-27)

간단히 WIN32에서 MFC의 메모리 누수 체크하는 방법 (created at 2006-12-27)

MFC의 TRACE() 출력 빼먹는 현상 (created at 2006-12-27)

모달리스 다이얼로그 와 메모리 리크(Leaks) (created at 2006-12-27)

GetDC()의 메모리 누수 막기 (created at 2006-12-27)

VC 에서 자동으로 빌드 넘버 증가하기 (created at 2006-12-28)

Internet Explorer가 자주 비정상 종료 할때 (created at 2006-12-29)

UTF-8로 파일 저장하기 (created at 2006-12-22)

버퍼 오버 플로우 공격과 DEP (created at 2007-01-24)

DEP 기능 비활성화 (created at 2007-01-24)

윈도우 버전 알아내는 함수 (created at 2007-01-25)

mdb 파일의 암호깨기 (created at 2007-01-25)

WinGate 깔았더니 블루스크린이 떠요 (created at 2007-01-25)

MSN Live Messenger가 동작이 안되요 (created at 2007-01-26)

네임드 커널 오브젝트를 사용한 중복 실행 방지법 (created at 2007-01-26)

태스크 바에서 프로그램(윈도우) 제목 숨기기 (created at 2007-01-26)

태스크 바를 없애버리고 싶다 (created at 2007-01-26)

버튼으로 해당 윈도우 종료하기 (created at 2007-01-26)

리스트박스 엔터처리 (created at 2007-01-26)

뷰의 배경색 바꾸기 (created at 2007-01-26)

대화상자에 비트맵 올리기 (created at 2007-01-26)

다이얼로그 리소스대로 폼뷰 크기 설정하기 (created at 2007-01-26)

CD, 플로피등의 디스크 삽입 자동 판단루틴 (created at 2007-01-26)

키보드로 마우스 커서 움직이기 (created at 2007-01-26)

파일 등록정보 보여주기 (created at 2007-01-26)

여러가지 시스템 종료 기법 (created at 2007-01-26)

작업관리자에서 윈도우 감추기 (created at 2007-01-26)

Windows95/98 암호 알아내기 (created at 2007-01-28)

마우스 커서 모양바꾸기 (created at 2007-01-28)

OTHER POSTS IN THE SAME CATEGORY

설치형 블로그 VS 가입형 블로그 (created at 2007-01-26)

WinGate 깔았더니 블루스크린이 떠요 (created at 2007-01-25)

mdb 파일의 암호깨기 (created at 2007-01-25)

윈도우 버전 알아내는 함수 (created at 2007-01-25)

USB 장치 연결/연결해제 이벤트 처리하기 (created at 2007-01-25)

버퍼 오버 플로우 공격과 DEP (created at 2007-01-24)

Internet Explorer가 자주 비정상 종료 할때 (created at 2006-12-29)

VC 에서 자동으로 빌드 넘버 증가하기 (created at 2006-12-28)

네이버 검색엔진에 높은순위로 등록되는 방법 (created at 2006-12-27)

GetDC()의 메모리 누수 막기 (created at 2006-12-27)

모달리스 다이얼로그 와 메모리 리크(Leaks) (created at 2006-12-27)

MFC의 TRACE() 출력 빼먹는 현상 (created at 2006-12-27)

간단히 WIN32에서 MFC의 메모리 누수 체크하는 방법 (created at 2006-12-27)

VC++ 6.0 에서 GDI+ 사용하기.. (created at 2006-12-27)

GDI+를 이용한 회전 3가지.... (created at 2006-12-27)

JSP 페이지 이동 4가지 방법 및 특성 (created at 2006-12-26)

기념일계산,날짜계산해서....^^; 앤에게 사랑받으시길..... (created at 2006-12-22)

자바스크립트로 만든 빙고 게임 (created at 2006-12-22)

현재달의 첫째날 , 마지막날 (날짜,일자) 구하기 (created at 2006-12-22)

JPG 저장된 DB 이미지 JSP로 보여주기 (created at 2006-12-22)

스크립트 디버거 (created at 2006-12-22)

수많은 체크박스 중 몇개 체크했는지 확인 (created at 2006-12-22)

가상디스크 만들기 (created at 2006-12-22)

RSS 수집당하는 법 (created at 2006-12-22)

프린팅 하기(IE 전용) (created at 2006-12-22)

textbox의 입력문자 제어하기(영문/한글) (created at 2006-12-22)

폼메일 예제 (created at 2006-12-22)

include 집중해부 (created at 2006-12-22)

한글 처리 (created at 2006-12-22)

브라우져 캐시(cache) 안먹게 하는 비기 (created at 2006-12-22)

UPDATES

한고은님의 옛날 사진 (updated at 2024-04-20)

소녀대 - Bye Bye Girl (updated at 2024-04-13)

대한민국 날씨 근황 (created at 2024-04-13)

성일종 인재육성 강조하며 이토 히로부미 언급 - 인재 키운 선례? (updated at 2024-04-13)

일제강점기가 더 살기 좋았을지도 모른다는 조수연 국민의힘 후보 - 친일파? (updated at 2024-04-13)

Marshall Ha님의 샤오미 SU7 시승기 - 테슬라의 일론 머스크님이 긴장할만한 느낌 (updated at 2024-04-09)

윙크하는 귀염둥이 반려견들 (created at 2024-04-08)

달콤 살벌한 고백 (created at 2024-04-08)

북한 최정예 공수부대 훈련 모습 (updated at 2024-04-02)

맛있었던 친구 어머니의 주먹밥이 먹고 싶어요 (created at 2024-04-02)

자리 마음에 안든다고 6급 공무원 패는 농협 조합장 (created at 2024-03-26)

85세 딸 짜장면 사주는 102세 어머니 (created at 2024-03-26)

1990년대 감각파 도둑 (created at 2024-03-26)

치매에 걸린 69살의 브루스 윌리스가 전부인 데미무어를 보고 한 말 (updated at 2024-03-22)

경제는 대통령이 살리는 것이 아닙니다 라던 윤석열대통령 - 상황 안좋아지자 여러 전략을 펼쳤지만, 부작용 속출했던 2024년의 봄 (updated at 2024-03-13)

극빈의 생활을 하고 배운것이 없는 사람은 자유가 뭔지도 모를 뿐 아니라 왜 개인에게 필요한지에 대한 필요성을 못느낀다는 윤석열 대통령 (updated at 2024-03-08)

조선일보를 안본다는 사람들이 말하는 그 이유 - 천황폐하, 전두환 각하, 김일성 장군 만세? (created at 2024-03-07)

광폭타이어를 장착하면 성능이 좋아질거라는 착각 (updated at 2024-03-03)

면허시험장에서 면허갱신하면 하루만에 끝나나? (updated at 2024-03-03)

신한은행/신한투자증권 금융거래 종합보고서 다운로드 방법 (updated at 2024-02-26)

100년 된 일본 장난감 회사가 내놓은 변신 기술에 난리난 과학계 (created at 2024-02-26)

알리에서 발견한 한글 지원하는 가성비 쩌는 무선 기계식키보드 (updated at 2024-02-25)

쌍팔년도가 1988년인줄 알았던 1인 (updated at 2024-02-23)

이쁜 색으로 변신한 테슬라 사이버트럭 (created at 2024-02-23)

2024년 카타르 아시안컵 4강전 전날 한국 대표팀 내부에 있었던 이강인의 폭주 (updated at 2024-02-21)

강릉 맛집 지도 (updated at 2024-02-20)

간이 안좋을 때 나타나는 증상 20가지 (updated at 2024-02-20)

배설물을 이용하여 일본에 저항했던 독립운동가 조명하 (updated at 2024-02-20)

요건 몰랐지롱? 이순신을 사랑한 외국인 (created at 2024-02-20)

원빈도 머리빨 (created at 2024-02-19)