A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Los esterilizadores son un grupo de herramientas de análisis dinámico que encuentran errores en los programas durante el tiempo de ejecución a través de la instrumentación adicional que insertó el compilador. Esto incluye detectar
problemas de seguridad de la memoria. Android admite los siguientes validadores y recomienda su uso:
AddressSanitizer asistido por hardware (HWASan)
HWASan es el limpiador principal que proporciona detección de problemas de seguridad de la memoria. Requiere ARM64 y puede detectar lo siguiente:
Desabastecimiento o desbordamiento del búfer de pila y montón
Uso de montón después de liberación
Uso de pila después del alcance
Uso de pila después de mostrar
Liberación doble o salvaje
Address Sanitizer (ASan)
ASan es una herramienta similar a HWASan. Funciona en más plataformas, pero no es compatible con Android.
KernelAddress Sanitizer (KASan)
KASan es la contraparte del kernel de las herramientas de espacio de usuario anteriores. Comparte la misma implementación del compilador. KASan y ASan/HWASan se complementan, ya que una herramienta se aplica al kernel y otra al espacio de usuario.
Recomendamos habilitar ambos al mismo tiempo para reducir la cantidad de configuraciones de compilación y la matriz de pruebas.
UndefinedBehaviorSanitizer (UBSan)
UBSan realiza instrumentación en el tiempo de compilación para verificar varios tipos de comportamientos no definidos (no seguros para la memoria). Esto incluye la verificación de desbordamiento de números enteros firmados y sin firmar (IntSan), las verificaciones de límites para arrays de tamaño estático (BoundsSan) y muchos otros tipos de comportamientos no definidos. IntSan y BoundsSan también son adecuados para habilitarse en producción como una mitigación de seguridad.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Sanitizers\n\n| **Note:** This page talks about sanitizers for Android platform development. For sanitizers for app development, refer to the [NDK documentation](https://developer.android.com/ndk/guides/memory-debug).\n\nThe sanitizers are a group of dynamic analysis tools that find mistakes in\nprograms at runtime through additional instrumentation that was inserted by the\ncompiler. This includes detecting\n[memory safety](/docs/security/test/memory-safety) issues. Android supports\nand strongly recommends usage of the following sanitizers:\n\nHardware-assisted AddressSanitizer (HWASan)\n-------------------------------------------\n\n[HWASan](/docs/security/test/hwasan) is the main sanitizer to provide detection\nfor memory safety problems. It requires ARM64 and can detect:\n\n- Stack and heap buffer overflow or underflow\n- Heap use after free\n- Stack use after scope\n- Stack use after return\n- Double free or wild free\n\nAddress sanitizer (ASan)\n------------------------\n\n[ASan](/docs/security/test/asan) is a tool similar to HWASan. It works on more\nplatforms, but is unsupported on Android.\n\nKernelAddress sanitizer (KASan)\n-------------------------------\n\n[KASan](/docs/security/test/kasan) is the kernel counterpart of the userspace\ntools above. It shares the same compiler implementation. KASan and ASan/HWASan\nare complementary as one tool applies to the kernel and another to userspace.\nWe recommend enabling both at the same time to reduce the number of build\nconfigurations and to reduce the testing matrix.\n\nUndefinedBehavior sanitizer (UBSan)\n-----------------------------------\n\n[UBSan](/docs/security/test/ubsan) performs compile-time instrumentation to\ncheck for various types of (non memory-safety) undefined behavior. This includes\nsigned and unsigned integer overflow checking (IntSan), bounds checks for\nstatically-sized arrays (BoundsSan), and lots of other types of undefined\nbehavior. IntSan and BoundsSan are also suitable for enabling in production as a\nsecurity mitigation."]]