Я отлаживаю большой проект на C ++. Есть несколько разыменованных указателей, вызывающих случайные сбои. Не могли бы вы предложить мне, пожалуйста, лучший бесплатный инструмент для проверки указателя? (Идентификация использования недействительных указателей)
(В противном случае мне потребовались бы годы, чтобы пройти через это вручную)
Также я использовал программу Memory Valuator, чтобы избавиться от большинства утечек памяти, но это не очень помогает при использовании указателей после того, как они были признаны недействительными.
Платформа Windows.
UPDATE:
Прежде, чем я отправлю сообщение, я исследовал и другие сообщения. И да, это не помогло. Поэтому я хотел бы поделиться своими исследованиями.
Одним из условий был БЕСПЛАТНЫЙ инструмент, и я не нашел ни одного пригодного для использования, и да, я протестировал дюжину из них. Большинство из предложенных инструментов предназначены для утечки памяти (это не то, что я ищу). Большинство профессиональных инструментов, таких как IBM Cleany, имеют бесплатную или пробную версию, но все они - пустая трата времени (Они сообщают только о количестве проблема, но ничего конкретного).
Другие инструменты, такие как Microsoft Application Verifier, очень полезны для проблем с памятью или совместимостью, но не смогли определить мои проблемы.
Сейчас я тестирую коммерческие инструменты:
Memory Validator - идеально подходит для утечек памяти, но функция «Определить удаленный указатель« этого »» вызывает сбой моего приложения. (и я провел целую вечность с настройками / конфиг.)
Ошибка валидатора - намного лучше. Выявлены некоторые проблемы. Тем не менее, это не очень полезно. Вся трассировка стека находится в инициализации crt / src / XString или Mutex или внутри некоторых критических разделов внутри библиотек C ++.
(Пока это все. Надеюсь, эта информация будет полезна.)