Compartilhar via


/fsanitize (Habilitar limpadores)

Use as opções do compilador /fsanitize para habilitar os limpadores.

Sintaxe

/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

Comentários

A opção do compilador /fsanitize=address permite que o AddressSanitizer, um compilador avançado e uma tecnologia de runtime, descubra bugs difíceis de localizar. O suporte à opção /fsanitize=address está disponível a partir do Visual Studio 2019 versão 16.9.

A /fsanitize=kernel-address opção do compilador habilita o KASan (Kernel AddressSanitizer). KASan é a variante do modo kernel do AddressSanitizer, disponível a partir do Visual Studio 2022 versão 17.11. O KASan só tem suporte no Windows 11 24H2 ou no Windows Server 2025 e superior e requer a criação usando um SDK do Windows 10.0.26100.2161 e superior. Compilar com KASan também implica na opção do /fsanitize-address-asan-compat-lib compilador.

A opção do compilador /fsanitize=fuzzer habilita o suporte experimental para LibFuzzer. A LibFuzzer é uma biblioteca de teste de fuzzing guiada por cobertura que pode ser usada para localizar bugs e falhas causadas por entrada fornecida pelo usuário. Recomendamos que você use /fsanitize=address com o LibFuzzer. Essa opção é útil para ferramentas de teste de fuzzing, como o OneFuzz. Para obter mais informações, confira a documentação do OneFuzz e o projeto do OneFuzz no GitHub. O suporte à opção /fsanitize=fuzzer está disponível a partir do Visual Studio 2022 versão 17.0.

A opção /fsanitize não permite sintaxe separada por vírgula, por exemplo: /fsanitize=address,fuzzer. Essas opções devem ser especificadas individualmente.

As /fsanitize-address-use-after-returnopções , /fno-sanitize-address-vcasan-lib, /fsanitize-address-asan-compat-libe /fno-sanitize-address-asan-compat-lib compilador, e as /INFERASANLIBS opções (Usar libs de sanitizer inferido) e /INFERASANLIBS:NO vinculador oferecem suporte para usuários avançados. Para obter mais informações, confira Referência de linguagem e build do AddressSanitizer.

Para definir a opção do compilador /fsanitize=address no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do seu projeto.

  2. Selecione a página de propriedades Propriedades da Configuração>C/C++>Geral.

  3. Modifique a propriedade Enable AddressSanitizer . Para habilitá-la, escolha Sim (/fsanitize=address).

  4. Escolha OK ou Aplicar para salvar as alterações.

Para definir a opção do compilador /fsanitize=fuzzer no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do seu projeto.

  2. Selecione a página de propriedades Propriedades da Configuração>C/C++>Geral.

  3. Modifique a propriedade Habilitar Fuzzer. Para habilitá-la, escolha Sim (/fsanitize=fuzzer).

  4. Escolha OK ou Aplicar para salvar as alterações.

Para definir as opções avançadas do compilador

  1. Abra a caixa de diálogo Páginas de Propriedades do seu projeto.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

  3. Modifique a propriedade Opções Adicionais para definir /fsanitize-address-use-after-return ou /fno-sanitize-address-vcasan-lib.

  4. Escolha OK ou Aplicar para salvar as alterações.

Para definir essa opção do compilador via programação

Confira também

Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC
/INFERASANLIBS (Usar bibliotecas de sanitizador inferidas)
/fsanitize-coverage (Configurar cobertura do sanitizador)
Visão geral do AddressSanitizer
Problemas conhecidos do AddressSanitizer
Referência de linguagem e build do AddressSanitizer