devmoa

워라밸 브레이커, 메모리릭을 찾아라(4/4)

넷마블·2021년 11월 28일·00
메모리릭C++shared_ptr순환 참조메모리 누수게임 서버

AI 요약

Beta

본 글은 넷마블 TPM실 기술분석팀에서 작성한 메모리릭 분석 시리즈의 네 번째 편으로, 모던 C++ 환경에서 발생하는 메모리릭의 주요 원인인 '순환 참조'에 대해 심층적으로 다룹니다. smart pointer의 발전으로 delete 누락과 같은 전통적인 메모리릭 패턴은 줄었지만, shared_ptr에서 발생하는 순환 참조는 여전히 메모리 누수를 유발할 수 있습니다.

shared_ptr의 내부 동작 방식과 참조 카운트 메커니즘을 설명하며, 두 객체가 서로를 shared_ptr로 소유할 때 발생하는 순환 참조가 어떻게 메모리 누수로 이어지는지 구체적인 예시와 함께 분석합니다. 개발자가 명시적인 초기화를 누락하거나 소멸자에서의 처리 순서 오류로 인해 발생하는 문제를 지적하며, 메모리릭 해결을 위한 기술적 패턴 이해의 중요성을 강조합니다.

이 글이 궁금하신가요?

원문 블로그에서 전체 내용을 확인해 보세요

원문 읽으러 가기

AI 추천 연관 게시글

이 글과 관련된 다른 기술 블로그 글을 AI가 추천합니다