IT-lexicon › Programmeren › AddressSanitizer

AddressSanitizer

Programmeren Svenska → Bijgewerkt: 2026-10-05

Op de compiler gebaseerde detector van geheugenfouten van Google (2012). Compileer met -fsanitize=address en het programma stopt bij de eerste fout met een volledige stacktrace, in plaats van drie uur later vreemd gedrag te vertonen.

De techniek heet shadow memory: een achtste van de adresruimte is gereserveerd om te beschrijven of elke byte geldig is, en elke geheugentoegang krijgt een geïnstrumenteerde controle. Allocaties worden omgeven door red zones en vrijgegeven geheugen komt in quarantaine, waardoor heap- en stack-overflows, use-after-free, use-after-return en double free worden gevonden. De prijs is ongeveer 2× looptijd en 3× geheugen — dus voor tests en CI, niet voor productie. De rest van de familie: ThreadSanitizer (data races), MemorySanitizer (ongeïnitialiseerd geheugen), UndefinedBehaviorSanitizer. Beschikbaar in zowel Clang als GCC.

← Terug naar het lexicon