Ограничение памяти
TODO доделать
Защитные слои от компилятора
cc -fstack-protector-all
cc -fsanitize=address
Огороды памяти
- EFence/DUMA
- *malloc проекты (gperftools, jmalloc, mimalloc …)
libmemleak и ему подобные
- …
Valgrind
- Полный эмулятор
- В т. ч. память
- ⇒ отслеживать память, стек и кучу, количество вызовов, кеш процессора, треды.
Утечка памяти не обязательно приводит к ошибке. Порча памяти, к сожалению, тоже.
- Доступ к неинициализированной памяти (даже на чтение, если она твоя)
- И даже
- Не-освобождение
Двойной и ошибочный free()
- а также все предыдущие примеры ☺
Статьи:
The Valgrind Quick Start Guide (и вообще сайт)