태그: 메모리누수
6편
-
C++ 메모리 누수 심화 디버깅 | 힙 프로파일링·패턴·스마트포인터·순환참조·프로덕션
Valgrind Memcheck와 AddressSanitizer·LeakSanitizer가 무엇을 추적하는지, still reachable 같은 리포트를 어떻게 해석할지부터 unique_ptr::release, 중복 shared_ptr 생성, enable_shared_from_this 오용처럼 스마트 포인터가 숨기는 누수의 진단법을 다룹니다.
-
메모리 누수 찾기: 프로파일러 선택과 재현 시나리오 | Valgrind·ASan·Heaptrack
메모리가 계속 늘어나는 서비스에서 C++는 ASan·LSan, Valgrind, Heaptrack, Python은 tracemalloc과 memory_profiler, Node.js는 힙 스냅샷으로 누수를 찾는 방법을 보여줍니다. 재현 시나리오를 문서화하는 법과 누수와 단편화의 구분도 다룹니다.
-
C++ 메모리 누수 디버깅 실전 사례 | 프로덕션 서버 메모리 사용량 급증 해결기
계속 늘어나는 C++ 서버 메모리를 Prometheus 지표로 확인하고 Valgrind, ASan, Heaptrack을 차례로 써서 누적된 이벤트 리스너라는 원인을 찾아낸 과정입니다. RAII와 스마트 포인터로 고친 뒤 CI에 ASan을 넣어 재발을 막는 방법까지 담았습니다.
-
C++ shared_ptr 순환 참조 누수: weak_ptr로 끊는 기준과 디버깅 방법
두 객체가 서로를 shared_ptr로 가리키면 참조 카운트가 0이 되지 않아 소멸자가 불리지 않습니다. 부모-자식 트리, 캐시, 옵저버에서 한쪽을 weak_ptr로 바꾸는 기준과 use_count(), Valgrind, AddressSanitizer로 누수를 확인하는 법을 다룹니다.
-
C++ 메모리 누수 찾기: Valgrind·ASan·CRT 디버그 힙 사용법과 누수 패턴
Valgrind memcheck와 AddressSanitizer, Visual Studio CRT 디버그 힙으로 C++ 메모리 누수를 찾는 방법을 설명하고, new/delete 불일치, 예외 경로, shared_ptr 순환 참조, 컨테이너에 저장한 포인터 같은 누수 원인과 RAII 해결법을 다룹니다.
-
Valgrind Memcheck로 C++ 메모리 누수 찾아내기
C++ Valgrind Memcheck로 메모리 누수·힙 버퍼 오버런·초기화 안 된 값을 찾는 방법. definitely lost·invalid read/write·uninitialised value 출력 해석, suppression 파일 작성, CI 통합까지 예제로 설명합니다.