OS · HEAP

힙 메모리 오류 분류

메모리 오류는 언제 할당했고 언제 해제했는지, 그리고 해제 후 포인터를 어떻게 다루었는지의 시간 순서 문제입니다.

관찰 신호

symptom
점진적 증가RSS가 계속 늘면 누수나 캐시 무제한 증가를 의심합니다.
불규칙 크래시해제 후 접근은 즉시 터지지 않고 나중에 드러날 수 있습니다.

오류 유형

bug map
Memory Leak할당한 블록을 더 이상 쓰지 않지만 free하지 않아 누적됩니다.
Dangling Pointerfree 이후에도 포인터 값이 남아 잘못된 접근을 유도합니다.
Double Free같은 블록을 두 번 반환해 할당자의 내부 구조를 손상합니다.
Overflow할당 크기보다 많이 써서 인접 블록 메타데이터를 덮습니다.

방어 도구

tooling
ASan컴파일러 계측으로 use-after-free와 overflow를 빠르게 잡습니다.
Valgrind느리지만 누수와 잘못된 접근 경로를 자세히 추적합니다.
소유권 규칙누가 free 책임을 갖는지 함수 경계에서 명확히 문서화합니다.