diff --git a/wiki/Prog/Development/CMake управление проектом.adoc b/wiki/Prog/Development/CMake управление проектом.adoc index c094cac..63f6828 100644 --- a/wiki/Prog/Development/CMake управление проектом.adoc +++ b/wiki/Prog/Development/CMake управление проектом.adoc @@ -1210,3 +1210,31 @@ add_pvs_check(${TRGT}) ---- +=== Динамический анализ программы + +Динамический анализ программы позволяет ценой значительного замедления +скорости работы получить дополнительную информацию о ходе её выполнения. +Современные компиляторы делают вставку инструкций в определённые точки +программы, во время работы программы в них собирается необходимая информация, +а по её завершению предоставляется отчёт. Основная информация о работе +таких анализаторов находится https://github.com/google/sanitizers/wiki[здесь]. + +Для обеспечения возможности подключения динамического анализа к проекту +нужно выполнить функцию (обязательно после подключения всех библиотек): + +[source,cmake] +---- +# Подключение настроек для динамического анализа программы +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 + +