Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use as opções do /fsanitize compilador para ativar os sanitizers.
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
Observações
A /fsanitize=address opção de compilador permite que o AddressSanitizer, um compilador poderoso e tecnologia de tempo de execução, descubra bugs difíceis de encontrar. O suporte para a /fsanitize=address opção está disponível a partir do Visual Studio 2019 versão 16.9.
A /fsanitize=kernel-address opção do compilador ativa o Kernel AddressSanitizer (KASan). KASan é a variante de modo kernel do AddressSanitizer, disponível a partir do Visual Studio 2022 versão 17.11. O KASan só é suportado no Windows 11 24H2 ou Windows Server 2025 e superior, e requer a criação usando um Windows SDK 10.0.26100.2161 e superior. Construir com o KASan também implica a opção do /fsanitize-address-asan-compat-lib compilador.
A /fsanitize=fuzzer opção de compilador permite suporte experimental para LibFuzzer. O LibFuzzer é uma biblioteca de difusão guiada por cobertura que pode ser usada para encontrar bugs e falhas causadas por entradas fornecidas pelo usuário. Recomendamos que use /fsanitize=address com LibFuzzer. Esta opção é útil para ferramentas difusas, como o OneFuzz. Para obter mais informações, consulte a documentação do OneFuzz e o projeto OneFuzz GitHub. O suporte para a /fsanitize=fuzzer opção está disponível a partir do Visual Studio 2022 versão 17.0.
A /fsanitize opção não permite sintaxe separada por vírgula, por exemplo: /fsanitize=address,fuzzer. Estas 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 (Use inferred sanitizer libs) e /INFERASANLIBS:NO linker oferecem suporte para usuários avançados. Para obter mais informações, consulte Compilação e referência de linguagem AddressSanitizer.
Para definir a opção do /fsanitize=address compilador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de propriedades do projeto.
Selecione a página de propriedades Configuration Properties>C/C++>General .
Modifique a propriedade Enable AddressSanitizer . Para ativá-lo, escolha Sim (/fsanitize=address).
Escolha OK ou Aplicar para salvar as alterações.
Para definir a opção do /fsanitize=fuzzer compilador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de propriedades do projeto.
Selecione a página de propriedades Configuration Properties>C/C++>General .
Modifique a propriedade Enable Fuzzer . Para ativá-lo, escolha Sim (/fsanitize=fuzzer).
Escolha OK ou Aplicar para salvar as alterações.
Para definir as opções avançadas do compilador
Abra a caixa de diálogo Páginas de propriedades do projeto.
Selecione a página de propriedades Configuration Properties>C/C++>Command Line .
Modifique a propriedade Opções Adicionais para definir /fsanitize-address-use-after-return ou /fno-sanitize-address-vcasan-lib.
Escolha OK ou Aplicar para salvar as alterações.
Para definir essa opção do compilador programaticamente
- Consulte AdditionalOptions.
Consulte também
opções do compilador MSVC
de sintaxe de linha de comando do compilador MSVC
/INFERASANLIBS (Use libs desinfetantes inferidos)
/fsanitize-coverage (Configurar cobertura de desinfetante)
Visão geral do AddressSanitizer
AddressSanitizer problemas conhecidos
de compilação e referência de linguagem AddressSanitizer