Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use las opciones del compilador /fsanitize para habilitar los correctores.
Sintaxis
/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
Comentarios
La opción del compilador /fsanitize=address habilita AddressSanitizer, una poderosa tecnología de compilador y entorno de ejecución para descubrir errores difíciles de encontrar. La compatibilidad con la opción /fsanitize=address está disponible a partir de la versión 16.9 de Visual Studio 2019.
La /fsanitize=kernel-address opción del compilador habilita el kernel AddressSanitizer (KASan). KASan es la variante en modo kernel de AddressSanitizer, disponible a partir de Visual Studio 2022, versión 17.11. KASan solo se admite en Windows 11 24H2 o Windows Server 2025 y versiones posteriores, y requiere la compilación con windows SDK 10.0.26100.2161 y versiones posteriores. La compilación con KASan también implica la /fsanitize-address-asan-compat-lib opción del compilador.
La opción del compilador /fsanitize=fuzzer habilita la compatibilidad experimental con LibFuzzer. LibFuzzer es una biblioteca de aproximación guiada por la cobertura que se puede usar para buscar errores y bloqueos causados por la entrada proporcionada por el usuario. Se recomienda usar /fsanitize=address con LibFuzzer. Esta opción es útil para herramientas de aproximación, como OneFuzz. Para más información, consulte la documentación de OneFuzz y el proyecto de GitHub de OneFuzz. La compatibilidad con la opción /fsanitize=fuzzer está disponible a partir de la versión 17.0 de Visual Studio 2022.
La opción /fsanitize no permite la sintaxis separada por comas, por ejemplo, /fsanitize=address,fuzzer. Estas opciones deben especificarse individualmente.
Las /fsanitize-address-use-after-returnopciones del compilador , /fno-sanitize-address-vcasan-lib, /fsanitize-address-asan-compat-liby /fno-sanitize-address-asan-compat-lib las opciones /INFERASANLIBS del enlazador (Usar bibliotecas de sanitizador inferido) y /INFERASANLIBS:NO las opciones del enlazador ofrecen compatibilidad con usuarios avanzados. Para más información, vea Referencia de lenguaje y compilación de AddressSanitizer.
Para establecer la opción del compilador /fsanitize=address en el entorno de desarrollo de Visual Studio, siga estos pasos:
Abra el cuadro de diálogo Páginas de propiedades del proyecto.
Seleccione la página de propiedades Propiedades de configuración>C/C++>General.
Modifique la propiedad Enable AddressSanitizer . Para habilitarla, elija Sí (/fsanitize=address).
Haga clic en Aceptar o en Aplicar para guardar los cambios.
Para establecer la opción del compilador /fsanitize=fuzzer en el entorno de desarrollo de Visual Studio, siga estos pasos:
Abra el cuadro de diálogo Páginas de propiedades del proyecto.
Seleccione la página de propiedades Propiedades de configuración>C/C++>General.
Modifique la propiedad Habilitar herramienta de aproximación. Para habilitarla, elija Sí (/fsanitize=fuzzer).
Haga clic en Aceptar o en Aplicar para guardar los cambios.
Para establecer las opciones avanzadas del compilador, siga estos pasos:
Abra el cuadro de diálogo Páginas de propiedades del proyecto.
Seleccione la página de propiedades Propiedades de configuración>C/C++>Línea de comandos.
Modifique la propiedad Opciones adicionales para establecer /fsanitize-address-use-after-return o /fno-sanitize-address-vcasan-lib.
Haga clic en Aceptar o en Aplicar para guardar los cambios.
Para establecer esta opción del compilador mediante programación
- Vea AdditionalOptions.
Consulte también
Opciones del compilador de MSVC
Sintaxis de línea de comandos del compilador de MSVC
/INFERASANLIBS (Usar bibliotecas de correctores inferidas)
/fsanitize-coverage (configuración de la cobertura de AddressSanitizer)
Introducción a AddressSanitizer
Problemas conocidos de AddressSanitizer
Referencia de lenguaje y compilación de AddressSanitizer