Microsoft MVP성태의 닷넷 이야기
C# dll 파일을 C++에서 사용 시 memory leak 문제 [링크 복사], [링크+제목 복사],
조회: 16867
글쓴 사람
안녕하세요 (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
정성태

... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
838이영우10/30/200917241            답변글 국세청 전자세금계선서에 관하여 문의드립니다.
831채승수10/13/200919210스마트 클라이언트 GAC 등록 문제 여쭤봅니다... [2]
829박찬용10/9/200931831WebBrowser 컨트롤 사용시 새창을 띄울시 세션/쿠키 공유가 왜 안될까요?? [1]파일 다운로드1
827송창훈9/24/200916765[질문]CAS 설정
828정성태9/28/200919813    답변글 [답변]: [질문]CAS 설정 [1]
825김재영9/18/200917885프레임워크별 비트 지원에 대해서 문의를 드립니다. [2]
821채승수8/27/200917246클릭원스를 비스타에서 실행시 [1]
822채승수8/28/200922349    답변글 [답변]: 클릭원스를 비스타에서 실행시 [2]
818개발돌이8/14/200920322ActiveX개발한 dll을 임베디드 할때 UI에 대한 질문 [1]파일 다운로드1
817채승수8/13/200919645클릭원스 관련 질문드립니다.~ [1]
816박진오7/29/200919117다국어 사이트의 컨텐츠 저장 방식에 대해.. [2]
814서광원7/16/200927858IWebBrowser2를 이용한 프로그램에서 javascript의 alert 창 무시하는 법? [1]
813윤상균7/16/200918627비관리코드와의 상호운용에서 마샬링 질문 [1]
812김현우7/13/200919239usercontrol은 mdi container가 될수 없는데 이를 구현할 방법은 무엇일런지요? [2]
811조민수7/3/200918589MSDN Magazine 한글화 않되나요? [1]
810세경6/29/200924235SmartClient Vista 64bit IE7 [4]
809윤석준6/24/200923866IE -nomerge 옵션으로 새창을 열려고 합니다. [1]
808한승훈6/4/200923424dll import하기 위해 struct 구성시에 struct가 struct를 가지고 있고 포함된 struct가 ByValArray형태일때 해결 [1]
806곰티5/26/200921317defcon pro 설치 원천 봉쇄 방법 문의 [3]
802채승수5/8/200920358신뢰사이트 등록/적용에 관해 질문드립니다. [1]
801채승수4/15/200921237IE8 새세션을 코드로 구현할수 없을까요 [1]
800신동열4/7/200921389IE8에서 스마트 클라이언트 로딩 문제 [2]
7993/27/200924136이벤트 로그 오류 [1]
798천해3/26/200921580IE8.0 에 관해 질문 드립니다. [2]
797궁금..3/23/200921482IE 8 관련 질문.. [2]
796정성태3/20/200919883스마트클라이언트와 ActiveX에 관한 질문 [1]
... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...