Как проверить, была ли выделена часть памяти с помощью C++ allocator?
Есть ли способ определить, содержится ли определенная часть памяти в одном выделенном блоке C++? И в режиме релиза к сожалению. И в идеале на Windows и Mac.
У меня здесь действительно проблемная ошибка - она появляется только в режиме релиза, ее очень сложно симулировать, она многопоточная и обычно разрушает стек. Кажется, что это вызвано вызовом memmove, и я могу только предположить, что он заменяет огромную часть памяти и, прежде чем произойдет нарушение доступа, обычно уже заменяет стек.
Алгоритм чрезвычайно сложен, и это происходит буквально время от времени, не зная, как эффективно его симулировать, поэтому моя единственная идея - внедрить тест в memmove, чтобы убедиться, что аргументы верны. Разумеется, каждая часть должна быть расположена в одном блоке-аллекторе, поэтому мне нужно проверить правильность замены конкретного блока.