안녕하세요. 구독자 님. 이번 주의 주제는 프로그램을 개발할 때 발생할 수 있는 '메모리 이슈'를 컴파일단에서 찾을 수 있는 방법에 대해 공유드려요.
C와 C++은 강력한 프로그래밍 언어이지만, 메모리 관리에 관한 취약점(혹은 버그)가 존재할 수 있습니다. 메모리 오류는 프로그램에서 치명적인 결함을 일으킬 수 있으며, 개발 단계에서 부터 이러한 오류를 미리 찾아내고 예방히기는 여간 어려운게 아니죠.
이러한 문제를 해결하기 위해 Google에서는 Sanitizers라는 프로젝트를 공개했습니다. 이 Sanitizers에는 AddressSanitizer, MemorySanitizer, HWASAN, UBSan 이런 기능을 각기 제공하고 있으며, 커널 소스코드를 위해서는 KASAN, KMSAN, KCSAN도 함께 제공하고 있습니다.이번 주에는 Address Sanitizer (ASan)를 사용하기 위한 셋팅 방법과 어떻게 사용하는지에 대해 알아보겠습니다.
1. Address Sanitizer (ASan) 이란?
ASan은 C 및 C++ 프로그램에서 메모리 오류를 식별하고 디버그하는 데 사용되는 도구입니다. ASan은 주로 다음과 같은 메모리 오류 유형을 검출합니다.
의견을 남겨주세요