Я пытаюсь использовать Address Sanitizer с gcc в моем проекте.
Итак, я добавил необходимые флаги в компилятор и компоновщик:
ADD_COMPILE_OPTIONS(-O0 -g -Wall -fsanitize=address -fno-omit-frame-pointer)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
Address Sanitizer работает послеэто, но это прерывает мое приложение после первой ошибки.Я хочу, чтобы Address Sanitizer продолжал работать даже после сообщения об ошибке.Итак, я добавил еще один флаг, как показано ниже (по ссылке https://github.com/google/sanitizers/wiki/AddressSanitizer):
ADD_COMPILE_OPTIONS(-O0 -g -Wall -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer)
После этого я получаю сообщение об ошибке, что этот флаг восстановления не поддерживается:
Problems were encountered while collecting compiler information:
cc1plus: error: -fsanitize-recover=address is not supported
PS: Моя версия gcc - это gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.10) 5.4.0 20160609