Microsoft MVP성태의 닷넷 이야기
[답변]: [답변]: [답변]: 당연히 도움이 되지요. [링크 복사], [링크+제목 복사],
조회: 12738
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

메모리 누수가 있겠는데요.

HRSULT FuncB(BSTR *bstr)
{
.........
(*bstr) = SysAllocString(L"Temp1"); /////// 1번, 여기서 한번 메모리 할당.

if( ...)
{
SysFreeString(*bstr); ////// 2번, 메모리 해제
(*bstr) = SysAllocString(L"Temp2"); ///////// 3번, 메모리 할당.

.........
FuncB(bstr); /// 4번, 이후 위의 1번을 다시 호출.
}
}


위에서 보시면. 1번으로 할당된 후, 2번에서 해제하는 것은 짝이 맞는 데요.
3번에서 다시 할당한 후, 4번 단계에서 재귀호출이 되어 다시 1번 단계의 할당으로 들어가게 되는 데요.
이 경우... 다음과 같은 코드와 같죠.

char *pTemp = new char[ 50 ];
pTemp = new char[ 90 ];

따라서, 이전에 할당된 것이 메모리 해제가 안되었으므로 메모리 누수가 나오게 됩니다.
이걸 방지하기 위해서는 FuncB 의 1번 단계 이전에,
if ( *bstr == NULL )
{
   SysFreeString( *bstr );
}

이란 코드를 넣어주어야 합니다.









[최초 등록일: ]
[최종 수정일: 1/19/2005]


비밀번호

댓글 작성자
 




... 91  92  [93]  94  95  96  97 
NoWriterDateCnt.TitleFile(s)
133김용국4/1/200510772                답변글 [답변]: [답변]: [답변]: [답변]: SmartClient 배포와 관련해서 무엇이 빠졌는지 좀 알려주시면 감사하겠습니다....!
126구정모3/31/200512063이홈의 효과는 어떻게???
128정성태3/31/200511220    답변글 [답변]: 이홈의 효과는 어떻게???
124배재현3/30/200511028Smart Client 문제로 이렇게 질문을 하나 올리게 됐습니다.^^;;
125정성태3/30/200510690    답변글 [답변]: Smart Client 문제로 이렇게 질문을 하나 올리게 됐습니다.^^;;
121안연준3/23/200510446이벤트 관련 문제
122정성태3/23/200510348    답변글 [답변]: 이벤트 관련 문제
120안연준3/23/200510272정성태님.... 오프라인 문제 질문 입니다. [1]
123정성태3/23/200510526    답변글 [답변]: 정성태님.... 오프라인 문제 질문 입니다. [1]
117정준명3/21/200511416COM+ 메소드 작성시...
118정성태3/29/200510959    답변글 [답변]: COM+ 메소드 작성시... [1]
109김용국3/18/200511957IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
112정성태3/19/200511103    답변글 [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
113김용국3/19/200511043        답변글 [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
114정성태3/19/200511067            답변글 [답변]: [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
115김용국3/21/200510474                답변글 [답변]: [답변]: [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ... [1]
119김용국3/22/200510447                    답변글 [답변]: 정상태님 아주 잘 해결 되었습니다.... 감사합니다!
108guest3/17/200510601닷넷 프레임워크 배포
111정성태3/19/200511104    답변글 [답변]: 닷넷 프레임워크 배포
107안연준3/17/200510280[-_-]스마트 클라이언트에 관련 된 질문[-_-]
110정성태3/19/200511211    답변글 [답변]: [-_-]스마트 클라이언트에 관련 된 질문[-_-]
116안연준3/21/200510604        답변글 [답변]: 친절한 답변 고맙습니다.
98김용국3/18/200512497정성태님... 연결이 준비됬습니다
99정성태3/2/200513413    답변글 [답변]: 정성태님... 연결이 준비됬습니다
100김용국3/18/200510378        답변글 [답변]: 죄송합니다! 급히올리느라 file path의 변경을 하지않고 그냥올렸네요....!
101정성태3/2/200510590            답변글 [답변]: [답변]: 죄송합니다! 급히올리느라 file path의 변경을 하지않고 그냥올렸네요....!
... 91  92  [93]  94  95  96  97