AddressSanitizer
AddressSanitizer (also known as ASan) is a fast memory error detector. It is a tool that helps in the detection of memory errors in software programs. The tool was developed by Google and is based on the compiler instrumentation and runtime library.
Overview[edit | edit source]
AddressSanitizer is designed to find out-of-bounds accesses to heap, stack, and globals, use-after-free and use-after-return bugs, and other memory-related errors. It is a part of the LLVM compiler project and has been incorporated into GCC (GNU Compiler Collection) as well.
Working Principle[edit | edit source]
AddressSanitizer works by adding a 'redzone' around the allocated memory, which is then checked at runtime. If a program accesses memory outside of these redzones, AddressSanitizer will terminate the program and report the error.
Usage[edit | edit source]
To use AddressSanitizer, one needs to compile and link their program with `-fsanitize=address` flag. This will instrument the code with checks for the above-mentioned classes of bugs.
Advantages[edit | edit source]
AddressSanitizer has several advantages over other memory error detection tools. It is faster and uses less memory. It also provides a detailed report of the error, including the stack trace, type of error, and memory layout around the error.
Limitations[edit | edit source]
While AddressSanitizer is a powerful tool, it does have some limitations. It cannot detect errors in assembly code or in inline assembler, and it does not support memory-mapped I/O.
See Also[edit | edit source]
References[edit | edit source]
- Official Documentation: https://github.com/google/sanitizers/wiki/AddressSanitizer
Search WikiMD
Ad.Tired of being Overweight? Try W8MD's physician weight loss program.
Semaglutide (Ozempic / Wegovy and Tirzepatide (Mounjaro / Zepbound) available.
Advertise on WikiMD
WikiMD's Wellness Encyclopedia |
Let Food Be Thy Medicine Medicine Thy Food - Hippocrates |
Translate this page: - East Asian
中文,
日本,
한국어,
South Asian
हिन्दी,
தமிழ்,
తెలుగు,
Urdu,
ಕನ್ನಡ,
Southeast Asian
Indonesian,
Vietnamese,
Thai,
မြန်မာဘာသာ,
বাংলা
European
español,
Deutsch,
français,
Greek,
português do Brasil,
polski,
română,
русский,
Nederlands,
norsk,
svenska,
suomi,
Italian
Middle Eastern & African
عربى,
Turkish,
Persian,
Hebrew,
Afrikaans,
isiZulu,
Kiswahili,
Other
Bulgarian,
Hungarian,
Czech,
Swedish,
മലയാളം,
मराठी,
ਪੰਜਾਬੀ,
ગુજરાતી,
Portuguese,
Ukrainian
WikiMD is not a substitute for professional medical advice. See full disclaimer.
Credits:Most images are courtesy of Wikimedia commons, and templates Wikipedia, licensed under CC BY SA or similar.
Contributors: Prab R. Tumpati, MD