inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[게임 프로그래머 도약반] DirectX11 입문

ReadModel 에서 메모리 누수가 감지 되는데 이유를 모르겠습니다.

해결된 질문

634

커다란곰

작성한 질문수 1

0

0.png

 

4.png

CRT 라이브러리를 활용하여 위 사진처럼 메모리 누수가 뜨고 있는 걸 확인했습니다.

 

1.png

찾아보니 ReadModel 함수에서 발생하였고

 

2.pngbone->parentIndex = file->Read<int32>(); 에서 누수가 나는걸 확인했습니다.

저 부분을 주석 처리하면 누수가 나지 않음을 확인했고, kachujin 외에 dragon, tower 등 다른 fbx 파일들도 예외 없이 저 부분에서 누수가 났는데 계속 찾아보고 고민해봤는데도 왜 crtdbg 에 메모리 누수로 잡히는지 이해가 안됩니다.

3.png

Read 함수 구현 부분 입니다.

 

너무 궁금해서 처음으로 질문 남겨봅니다.. !

c++ directx 메모리누수 crtdbg

답변 2

0

커다란곰

메모리 누수 해결했습니다.

image
parent와 children가 서로 순환 참조하여 메모리 해제를 하지 않는 문제였습니다.
위 사진처럼 wear_ptr로 변경 후

image
빨간색 부분처럼 변경하시면 됩니다!

0

인프런 AI 인턴

안녕하세요 커다란곰 님, 인프런 AI 인턴이에요.

메모리 누수를 해결하는 것은 중요한 문제입니다. 이 문제를 해결하기 위해 여러 가지 방법을 시도해볼 수 있습니다. 첫 번째로, 메모리 누수가 발생하는 곳과 관련된 CRT 라이브러리 함수들을 주의 깊게 살펴보세요. 문제가 있는지 확인하고, 관련된 자원을 제대로 해제하고 있는지 확인해야 합니다.

두 번째로, 올바른 메모리 관리를 위해 C++의 RAII(Resouce Acquisition Is Initialization) 원칙을 따르는지 확인해보세요. 모든 자원은 생성과 동시에 초기화되어 사용되며, 사용이 끝나면 자동으로 소멸되어 자원 누수를 방지합니다.

세 번째로, 메모리 디버깅 도구인 CRTDBG를 활용해보세요. CRTDBG를 사용하면 메모리 누수가 발생하는 지점을 상세하게 추적할 수 있습니다. 이를 통해 어떤 객체나 자료구조가 메모리 누수를 일으키는지 찾아내고, 문제를 해결할 수 있을 것입니다.

마지막으로, 코드 리뷰를 통해 다른 개발자들의 의견을 들어보세요. 누군가 다른 시각에서 문제를 바라볼 수 있고, 해결 방법을 찾을 수도 있을 것입니다.

이러한 접근 방법을 통해 메모리 누수 문제를 해결할 수 있을 것입니다. 좋은 결과를 얻을 수 있기를 바랍니다. 계속해서 도움이 필요하시다면 언제든지 질문해주세요. 감사합니다!

assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.

0

85

1

Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.

0

57

0

노멀매핑 자료

0

76

1

셰이더 인텔리센스 문제

0

80

1

4강 삼각형띄우기 오류관련 질문있습니다

0

70

1

64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.

1

65

1

SkyDemo에서 카메라 입력이 작동하지 않는 문제

0

84

2

섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다

0

133

2

텍스처와 UV 강의 관련해서 문의드려요

0

165

2

frame간 보간에 대해서 질문이있습니다.

1

132

1

자료 pptx가 아닌 pdf

0

109

1

어디에 좀더 집중해야하나 고민입니다

0

202

1

CameraPosition 질문있습니다

1

114

1

안녕하세요 roatation 행렬 질문있습니다.

1

156

2

'C\ .... ......lib'은 올바른 win32에플리케이션이 아닙니다.

0

525

4

버텍스버퍼 실습 도중 버그

0

176

1

물방울 책 실습은 어디까지 하는건가요??

0

408

2

리소스매니저의 get함수에서 에러가 나요

0

133

2

자식 GameObject SetPosition 시 움직이지 않음

0

102

1

강의 끝나고 3D 포폴

0

320

2

공부 방법에 대해서 문의 드려요

0

155

1

19분 5초에 함수 구현부 한꺼번에 만드는법

1

154

1

좌표계 변환 행렬이랑 srt 변환 행렬

0

206

2

SRT 행렬중에 ppt 질문 있습니다.

0

169

1