IT-lexikon Programmering AddressSanitizer

AddressSanitizer ASan

Programmering In English → Uppdaterad: 2026-07-29

Kompilatorbaserad minnesfelsdetektor från Google (2012). Kompilera med -fsanitize=address så kraschar programmet vid första felet med full stackspårning istället för att bete sig konstigt tre timmar senare.

Tekniken är skuggminne: en åttondel av adressrymden reserveras för att beskriva om varje byte är giltig, och varje minnesåtkomst får en instrumenterad kontroll. Allokeringar omges av "red zones" och frigjort minne sätts i karantän, vilket fångar heap- och stackspill, use-after-free, use-after-return och dubbla free. Kostar ungefär två gånger körtiden och tre gånger minnet — alltså för test och CI, inte produktion. Syskonen i familjen: ThreadSanitizer (kapplöpningar), MemorySanitizer (oinitierat minne), UndefinedBehaviorSanitizer. Finns i både Clang och GCC.

← Tillbaka till lexikonet