leak detection
누수 보고서는 잃어버린 소유권부터 추적해야 한다
new/delete, unique_ptr, shared_ptr, weak_ptr, Memcheck, clang-tidy는
예방과 탐지를 서로 보완합니다.
Definitely lost
유실 포인터 누수
할당 위치와 소유권 이전 지점을 거꾸로 추적합니다.
Possibly lost
간접 포인터 잔존 가능성
정말 누수인지 자료구조 수명과 함께 살펴야 합니다.
Still reachable
프로그램 종료 시점까지 도달 가능한 블록입니다
의도한 캐시인지 정리 누락인지 프로젝트 정책으로 판단합니다.
스마트 포인터
스마트 포인터 자동 해제
weak_ptr는 순환 참조로 인한 잔류 객체를 줄입니다.
동적 도구
Memcheck와 _CrtDumpMemoryLeaks는 실행 중 할당 흔적을 보여
줍니다.
UB 탐지
해제 후 사용과 버퍼 침범은 누수와 별도로 sanitizer로
잡습니다.
정적 분석
clang-tidy는 실행 전 소유권 냄새와 위험한 패턴을 알려 줍니다.