Microsoft MVP성태의 닷넷 이야기
C# dll 파일을 C++에서 사용 시 memory leak 문제 [링크 복사], [링크+제목 복사],
조회: 18436
글쓴 사람
안녕하세요 (qwepoi32 at naver.com)
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

안녕하세요,

아까 게시물 답글에서 말씀드린대로 C#에서 만든 dll 파일을 C++에서 사용 시 메모리 누수 문제 관련해서 질문드립니다.

상황은 기존 C# 라이브러리를 Wrapping 하여 C++에서 사용하도록 만들었는데 C++ 프로세스에서 메모리가 계속 올라갑니다.

C#에서 테스트한 결과 잘 돌아가는 것으로 보아 C++에서 동작 시 C# 라이브러리에서 GC가 동작하지 않아 발생하는 문제라고 추정하는데 해결 방법을 못찾겠네요...

질문은 아까 제가 얘기한 방법으로는 메모리 누수가 발생하지 않는다고 했는데 그럼 소스가 문제인건지 제가 추정한 게 맞다면 C#에서 GC 말고 메모리를 해제하는 방법이 있는건지 알고 싶습니다.

원본 소스는 보안문제로 올리기 어려워 해당 문제를 간단하게 재현한 소스를 올립니다.

카메라를 사용한다 가정하고 비슷한 데이터를 받는 라이브러리입니다.

DllMemoryLeakProblem 프로젝트 실행하면 동작합니다.

확인 부탁드립니다.

감사합니다.


[연관 글]






[최초 등록일: ]
[최종 수정일: 1/15/2021]


비밀번호

댓글 작성자
 



2021-01-15 07시36분
GetName은 누수가 없는데, 왜 GetData에서만 나는지... 잘 보시면 원인 파악을 할 수 있을 것입니다. (그건 그렇고, 예제 너무 잘 만들어 주셨네요. ^^) 참고로, SafeArray라는 면을 고려해 보시고, 안 되면 또 덧글 남겨 주세요.
정성태
2021-01-16 11시46분
다음의 글을 참고하세요.

배열을 반환하는 C# COM 개체의 메서드를 C++에서 사용 시 메모리 누수 현상
; https://www.sysnet.pe.kr/2/0/12491
정성태

... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
458이승용9/7/200619748스마트 클라이언트 관련 질문입니다. [4]
456guest9/7/200618866데이타셋 암호화 방법...이 있을까요? [2]
451임은주8/31/200618513mms 스트림을 로컬 파일로 저장해주는 프로그램 에 대해서 여쭤볼께요 [1]
448guest8/28/200619039서버인증서및클라이언트인증서 발급
449정성태8/28/200618425    답변글 [답변]: 서버인증서및클라이언트인증서 발급
450ligh...8/29/200618840        답변글 [답변]: [답변]: 서버인증서및클라이언트인증서 발급 [3]
468light9/28/200618684            답변글 [답변]: [답변]: [답변]: 서버인증서및클라이언트인증서 발급
472정성태10/5/200618887    답변글 [답변]: 서버 인증서 및 클라이언트 인증서 발급
475ligh...10/11/200618150        답변글 [답변]: [답변]: 서버인증서및클라이언트인증서 발급
446윤경재8/20/200623565COM+ 프로젝트 디버깅 방법. [2]파일 다운로드1
442이남호8/7/200618465스마트클라이언트에 Farpoint Winform을 이용했는데 배포가 안되요.
443이남호8/7/200620530    답변글 [답변]: 스마트클라이언트에 Farpoint Winform을 이용했는데 배포가 안되요.
441강혜영8/5/200619397SHDocVw를 이용한 익스플로어 제어
444정성태8/7/200617418    답변글 [답변]: SHDocVw를 이용한 익스플로어 제어
445강혜영8/8/200618251        답변글 [답변]: [질문]: SHDocVw를 이용한 익스플로어 제어 [1]
437혀기7/25/200616694DirectoryEntry의 Childrend에 Add할때 엑세스가 거부됩니다~ㅜㅜ [2]파일 다운로드1
436조성택7/24/200616613IE를 가로채서 그리고 싶을때.. [1]
439태기7/25/200617208    답변글 [답변]: IE를 가로채서 그리고 싶을때..(재질문) [1]파일 다운로드1
435이영균7/21/200617687작그마한 스마트클라이언트 프로젝트를 진행하고 있습니다. [1]파일 다운로드1
431혁이7/19/200616469UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ파일 다운로드1
432정성태7/19/200616913    답변글 [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
433혁이7/20/200617762        답변글 [답변]: [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
434정성태7/20/200618659            답변글 [답변]: [답변]: [답변]: UpdatePanel(Atlas) 위의 SmartClient가 이벤트 후 사라집니다. ㅜㅜ [1]
429kwt7/12/200618027ActiveX 개발을 배우고 싶은데요 [3]
427이홍자7/11/200618056스마트 클라이언트 실행 시 그리드의 체크박스가 안보여요.. [1]
426정보문7/11/200618774액티브X 설치2 [1]
... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...