diff --git a/wiki/Prog/Development/CMake управление проектом.adoc b/wiki/Prog/Development/CMake управление проектом.adoc index 63f6828..206a452 100644 --- a/wiki/Prog/Development/CMake управление проектом.adoc +++ b/wiki/Prog/Development/CMake управление проектом.adoc @@ -1228,13 +1228,22 @@ add_pvs_check(${TRGT}) add_sanitizers(${TRGT}) ---- -CMakeCache.txt:SANITIZE_ADDRESS:BOOL=OFF -CMakeCache.txt:SANITIZE_CFI:BOOL=OFF -CMakeCache.txt:SANITIZE_LEAK:BOOL=OFF -CMakeCache.txt:SANITIZE_LINK_STATIC:BOOL=OFF -CMakeCache.txt:SANITIZE_MEMORY:BOOL=OFF -CMakeCache.txt:SANITIZE_SS:BOOL=OFF -CMakeCache.txt:SANITIZE_THREAD:BOOL=OFF -CMakeCache.txt:SANITIZE_UNDEFINED:BOOL=OFF +Подключение анализатора осуществляется включением одной из опций +при запуске CMake для генерации сборочных файлов. +[cols="1m,4",options="header"] +|=== +| Опция | Назначение +| SANITIZE_ADDRESS | Определение ошибок при работе с памятью: использование после освобождения, +использование за пределами области видимости, переполнения буферов в стеке, на куче, в общей памяти, +утечки памяти, нарушение порядка инициализации +| SANITIZE_CFI | Определение нарушений путей исполнения инструкций программы +| SANITIZE_LEAK | Определение утечек памяти +| SANITIZE_LINK_STATIC | Статическая компоновка анализатора с программой +| SANITIZE_MEMORY | Определение попыток доступа к неинициализированным областям памяти +| SANITIZE_SS | Определение переполнения буфера стека +| SANITIZE_THREAD | Определение состояние гонок +| SANITIZE_UNDEFINED | Определение невыровненных и нулевых указателей, переполнения знаковых целых, +преобразования типов с плавающей точкой, ведущих к переполнению результирующей переменной +|===