Осуществить отравление памяти вручную? ⇐ C++
Осуществить отравление памяти вручную?
У меня есть структура данных, в которой из соображений производительности выделяется непрерывный фрагмент памяти. Но позже в этой памяти остаются дыры, которые не будут использоваться, инициализироваться или трогаться.
Поскольку индексы во время выполнения очень легко переполнить, в режиме отладки я хотел бы сделать эту память «недоступной», т. е. сделать так, чтобы доступ к ней вел себя как можно ближе к ошибке сегментации.
Я читал об «отравлении памяти», которое можно обнаружить с помощью адресных дезинфицирующих средств. Например, используя ASAN_POISON_MEMORY_REGION из https://github.com/google/sanitizers/wi ... lPoisoning
Однако я не хочу добавлять зависимость к проекту. Есть ли способ реализовать что-то вроде отравления памяти вручную?
Что-то, что работает, скажем, в Linux, с GCC и clang.
У меня есть структура данных, в которой из соображений производительности выделяется непрерывный фрагмент памяти. Но позже в этой памяти остаются дыры, которые не будут использоваться, инициализироваться или трогаться.
Поскольку индексы во время выполнения очень легко переполнить, в режиме отладки я хотел бы сделать эту память «недоступной», т. е. сделать так, чтобы доступ к ней вел себя как можно ближе к ошибке сегментации.
Я читал об «отравлении памяти», которое можно обнаружить с помощью адресных дезинфицирующих средств. Например, используя ASAN_POISON_MEMORY_REGION из https://github.com/google/sanitizers/wi ... lPoisoning
Однако я не хочу добавлять зависимость к проекту. Есть ли способ реализовать что-то вроде отравления памяти вручную?
Что-то, что работает, скажем, в Linux, с GCC и clang.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение