Я хочу знать, указывает ли указатель на часть памяти, выделенную с помощью malloc / new.Я понимаю, что ответом для произвольного адреса является «Нет, вы не можете», но я думаю, что возможно переопределить malloc / free и отслеживать выделенные диапазоны памяти.
Знаете ли вы библиотеку управления памятьюПредоставление этого конкретного инструмента?
Знаете ли вы что-нибудь для производственного кода?
Valgrind - это здорово, но это слишком много инструментов (медленно) и, как сказал Уилл, мы не хотимиспользовать Valgrind следующим образом (достаточно мягкого сбоя).
Mudflap - очень хорошее решение, но оно предназначено для GCC, и, к сожалению, проверка не просто возвращает логическое значение (см. мойответ ниже).
Обратите внимание, что проверка правильности записи в память - это проблема безопасности .Так что поиск производительности мотивирован.