Léxico TI › Programación › AddressSanitizer

AddressSanitizer

Programación Svenska → Actualizado: 2026-08-12

Detector de errores de memoria basado en el compilador, de Google (2012). Compila con -fsanitize=address y el programa aborta en el primer error con una traza de pila completa, en vez de comportarse de forma extraña tres horas más tarde.

La técnica es la memoria sombra: se reserva una octava parte del espacio de direcciones para describir si cada byte es válido, y cada acceso a memoria recibe una comprobación instrumentada. Las asignaciones se rodean de «zonas rojas» y la memoria liberada se pone en cuarentena, lo que atrapa desbordamientos de heap y de pila, use-after-free, use-after-return y dobles free. Cuesta alrededor de 2× de tiempo de ejecución y 3× de memoria, así que es cosa de las pruebas y la CI, no de producción. El resto de la familia: ThreadSanitizer (condiciones de carrera), MemorySanitizer (memoria sin inicializar) y UndefinedBehaviorSanitizer. Disponible tanto en Clang como en GCC.

← Volver al léxico