Завершая свою работу, я регулярно сталкиваюсь с довольно распространенной ошибкой программирования - с помощью некоторого объекта, который уже был освобожден. Это вызывает UB в С++. В Linux такие проблемы обычно решаются с помощью утилиты Valgrind Memcheck. Из Руководство по Memcheck:
Memcheck пытается установить, к чему может относиться незаконный адрес, так как это часто полезно. Итак, если он указывает на блок памяти который уже был освобожден, вы будете проинформированы об этом, а также где блок был освобожден.
Memcheck предоставляет мне стек вызовов, где объект был освобожден, и я могу продолжить и отладить проблему. Есть ли аналогичный инструмент для Windows с одинаковой функциональностью, желательно бесплатно?