2016-11-21 3 views
0
Compiler: gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) 
OS : CentOS 

나는 다음과 같은 코드가 있습니다.사용 -fsanitize = 주소 g ++

-fsanitize = address와 함께 실행 가능한 컴파일러를 실행할 때 경고 나 오류가 발생하지 않습니다.

왜 그런가? 특정 종류의 오류 만 처리해야합니까?

답변

0

AddressSanitizer (-fsanitize-address 사용)는 버퍼 오버 플로우를 검사하며 초기화되지 않은 메모리는 검사하지 않습니다. 후자의 경우 MemorySanitizer (Clang에서만 사용 가능, -fsanitize=memory 사용) 또는 Valgrind를 사용해야합니다.