메모리 안전 점검 흐름

누수 탐지 절차

C++ 메모리 오류는 하나의 도구로 끝나지 않는다. 소유권을 명확히 하고, 실행 전후의 검사를 조합해야 누수와 잘못된 접근을 안정적으로 줄인다.

1

예방

RAII, unique_ptr, 컨테이너 사용으로 해제 책임을 객체에 묶는다.

ownership first
2

정적 분석

실행 전에 위험한 패턴, 소유권 혼동, 성능 문제를 자동으로 걸러낸다.

clang-tidy · 검토
3

동적 계측

테스트 실행 중 use-after-free, overflow, undefined behavior를 잡는다.

ASan · UBSan · TSan
4

장시간 검증

스트레스 테스트와 스냅샷 비교로 누적 증가와 해제 누락을 확인한다.

Valgrind · snapshot

메모리가 줄지 않음

LSan, Valgrind, Visual Studio 스냅샷으로 할당 위치를 추적한다.

leak report

해제 후 접근

ASan으로 실행 시점의 잘못된 접근과 원래 할당 위치를 함께 본다.

use-after-free

스레드 오류

TSan으로 데이터 레이스를 찾고 lock 순서와 공유 상태를 정리한다.

경쟁 상태 점검