IT-Lexikon › Programmierung › AddressSanitizer

AddressSanitizer ASan

Programmierung Svenska → Aktualisiert: 2026-09-04

Compilergestützter Speicherfehler-Detektor von Google (2012). Mit -fsanitize=address kompiliert, bricht das Programm beim ersten Fehler sofort ab — mit vollständigem Stacktrace, statt sich drei Stunden später nur seltsam zu verhalten.

Die Technik dahinter ist Shadow Memory: ein Achtel des Adressraums wird reserviert, um zu markieren, ob jedes einzelne Byte gültig ist, und jeder Speicherzugriff bekommt eine instrumentierte Prüfung. Allokationen werden von "Red Zones" umgeben, freigegebener Speicher wird unter Quarantäne gestellt — das fängt Heap- und Stack-Overflows, Use-after-Free, Use-after-Return und doppeltes Freigeben ab. Kostet etwa das Doppelte an Laufzeit und das Dreifache an Speicher — gehört also in Tests und CI, nicht in die Produktion. Die Geschwister in der Familie: ThreadSanitizer (Race Conditions), MemorySanitizer (uninitialisierter Speicher), UndefinedBehaviorSanitizer. Verfügbar in Clang und GCC.

← Zurück zum Lexikon