태그: ASan
4편
-
메모리 누수 찾기: 프로파일러 선택과 재현 시나리오 | Valgrind·ASan·Heaptrack
메모리가 계속 늘어나는 서비스에서 C++는 ASan·LSan, Valgrind, Heaptrack, Python은 tracemalloc과 memory_profiler, Node.js는 힙 스냅샷으로 누수를 찾는 방법을 보여줍니다. 재현 시나리오를 문서화하는 법과 누수와 단편화의 구분도 다룹니다.
-
C++ 서버 메모리 누수 디버깅 사례: Valgrind·ASan·Heaptrack으로 리스너 누적 찾기
계속 늘어나는 C++ 채팅 서버 메모리를 예로, RSS 지표로 누수 여부를 판단하고 Valgrind, ASan, Heaptrack을 각각 어디에 쓰는지, 해제되지 않는 이벤트 리스너를 어떻게 찾아 RAII로 고치는지 설명합니다. CI에 ASan을 넣을 때 잡히지 않는 누수의 종류도 다룹니다.
-
C++ Sanitizer 동작 원리와 설정: ASan·UBSan·TSan·MSan 오버헤드, CMake 통합
use-after-free를 잡는 ASan, 데이터 레이스를 잡는 TSan, 미정의 동작을 잡는 UBSan, 초기화 안 된 메모리를 잡는 MSan이 각각 어떻게 동작하고 얼마나 느려지는지, ASan·TSan을 함께 못 쓰는 이유와 CMake 프리셋·CI job 분리 방법을 설명합니다.
-
ASan과 TSan으로 런타임 버그 잡기: 메모리 오류·데이터 레이스 예제와 CI 통합
C++ AddressSanitizer와 ThreadSanitizer 정리. 런타임 검증이 필요한 이유, ASan으로 메모리 오류, TSan으로 데이터 레이스를 찾는 예제, MSan·UBSan·LSan과의 관계, CI 통합과 자주 나는 문제를 다룹니다.