Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
/fsanitize Используйте параметры компилятора, чтобы включить санитизаторы.
Синтаксис
/fsanitize=address
/fsanitize=kernel-address
/fsanitize=fuzzer
/fsanitize-address-use-after-return
/fno-sanitize-address-vcasan-lib/fsanitize-address-asan-compat-lib/fno-sanitize-address-asan-compat-lib
Замечания
Параметр /fsanitize=address компилятора позволяет AddressSanitizer, мощной технологии компилятора и среды выполнения выявить ошибки, которые трудно найти.
/fsanitize=address Поддержка этого параметра доступна начиная с Visual Studio 2019 версии 16.9.
Параметр /fsanitize=kernel-address компилятора включает Ядро AddressSanitizer (KASan). KASan — это вариант режима ядра AddressSanitizer, доступный начиная с Visual Studio 2022 версии 17.11. KaSan поддерживается только в Windows 11 24H2 или Windows Server 2025 и более поздних версий и требует создания с помощью Windows SDK 10.0.26100.2161 и более поздних версий. Сборка с помощью KASan также подразумевает параметр компилятора /fsanitize-address-asan-compat-lib .
Параметр /fsanitize=fuzzer компилятора включает экспериментальную поддержку LibFuzzer. LibFuzzer — это библиотека нечеткого отображения покрытия, которую можно использовать для поиска ошибок и сбоев, вызванных введенными пользователем входными данными. Мы рекомендуем использовать /fsanitize=address с LibFuzzer. Этот параметр полезен для нечетких инструментов, таких как OneFuzz. Дополнительные сведения см. в документации oneFuzz и проекте OneFuzz GitHub.
/fsanitize=fuzzer Поддержка этого параметра доступна начиная с Visual Studio 2022 версии 17.0.
Параметр /fsanitize не разрешает синтаксис, разделенный запятыми, например: /fsanitize=address,fuzzer Эти параметры необходимо указать по отдельности.
Параметры /fsanitize-address-use-after-return, /fno-sanitize-address-vcasan-libи /fsanitize-address-asan-compat-libкомпилятор, а также /INFERASANLIBS варианты (использование выводимых libitizer libs) и /INFERASANLIBS:NO/fno-sanitize-address-asan-compat-lib компоновщика предлагают поддержку для расширенных пользователей. Дополнительные сведения см. в справочнике по сборке и языку AddressSanitizer.
Установка параметра компилятора /fsanitize=address в среде разработки Visual Studio
Откройте диалоговое окно страниц свойств проекта.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Общие.
Измените свойство Enable AddressSanitizer . Чтобы включить его, нажмите кнопку "Да" (/fsanitize=address).
Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Установка параметра компилятора /fsanitize=fuzzer в среде разработки Visual Studio
Откройте диалоговое окно страниц свойств проекта.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Общие.
Измените свойство Enable Fuzzer . Чтобы включить его, нажмите кнопку "Да" (/fsanitize=fuzzer).
Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Настройка дополнительных параметров компилятора
Откройте диалоговое окно страниц свойств проекта.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
Измените свойство "Дополнительные параметры", чтобы задать /fsanitize-address-use-after-return или /fno-sanitize-address-vcasan-lib.
Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Установка данного параметра компилятора программным способом
- См. раздел AdditionalOptions.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
/INFERASANLIBS (Используйте выводимые libs санитизаторы)
/fsanitize-coverage (настройка покрытия санитайзеров)
Обзор AddressSanitizer
Известные проблемы AddressSanitizer
Справочник по сборке и языку AddressSanitizer