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

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

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

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

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

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

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

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

확인 부탁드립니다.

감사합니다.


[연관 글]


donaricano-btn



[최초 등록일: ]
[최종 수정일: 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
정성태

1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...
NoWriterDateCnt.TitleFile(s)
5111게스트1/10/20192448암호화 라이센스 관련 문의 드립니다. [1]
5110WPF꿈나무1/9/20192171Thread Abort 함수 사용시 [2]
5109닷넷개발1/9/20192438thread 관련 질문 예제.. [2]파일 다운로드1
5108닷넷개발1/9/20192975thread 관련 질문 드립니다.. [4]
5107우코아1/4/20193327WPF에서 로딩중 이미지를 구현 - Project [5]파일 다운로드1
5106우코아1/3/20192485WPF에서 로딩중 이미지를 구현 - Source [1]
5104우코아1/1/20193621WPF에서 로딩중 이미지를 구현 [4]
5103이혜성12/31/2018403632bit .net 으로 만들어진 dll파일 [5]
5102돌고래12/18/20183755자료구조와 알고리즘 도서 관련 질문입니다. [4]
5101세퉁12/17/20182937안녕하세요 wpf 공부중인데 질문있습니다. [4]파일 다운로드1
5100돌고래12/16/20182277도서 추천 부탁드립니다. [1]
5099WPF12/12/20183945안녕하세요. WPF에서 UWP Control을 참조하려고 합니다. [3]파일 다운로드1
5097sdh12/10/20184105[c#] 라이선스 파일 만들기 질문 드립니다. [3]
5096거북이12/3/20182405프로젝트 구성을 참고할 만한 자료가 있을까요? [1]
5095한대현11/21/20182932안녕하세요 c# 설치 파일 빌드중 오류가 생겨서 문의 드려요 [1]파일 다운로드2
5094하주형11/20/20182516안녕하세요 C# using 예약어관련 질문드립니다. [1]
5093Mediaelement11/19/20183950안녕하세요. wpf Mediaelement 질문 있습니다. [3]
5092하주형11/17/20182254안녕하세요 c# 7.1책 스택관련 질문드립니다. [2]
5091아짱11/15/20182580UWP 개발중 질문이 있습니다. [3]
5090황윤하11/15/20184778c# Socket Server에 접근할 수 있는 client 개수 제한 [5]
5089문성운11/14/20183126uwp에서 TcpListener를 사용할 수 없나요? [5]
5088안중언11/10/20182380TCP 소켓 [1]파일 다운로드1
5084김광흠11/9/20182638사운드 파일 "filename.wav" 와 같은 특정 파일이 실행되는것을 감시하고 싶습니다. [3]
5083거북이11/4/20182775타입의 범위를 넘어서는 연산의 개념을 모르겠습니다. [4]
5082꾸엉11/1/20182180BCL 타입을 모아둔 곳이 있나요? [2]
5081꾸엉10/31/20182297C# 7.1 235p 질문입니다. [3]
1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...