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는 실행 전 소유권 냄새와 위험한 패턴을 알려 줍니다.