У меня также есть необнаруженные "утечки". Вот полная история.
Куча отладки VS2008 сообщала о множестве утечек при завершении, которые было трудно отследить (поскольку фактические распределения были в коде MFC без отслеживания стека). Я попробовал VLD 2.2, и он отлично работал, чтобы отследить 4 утечки (хотя на самом деле это не было проблемой, это было больше похоже на «всплески памяти», то есть на выделение «одиночных» объектов).
После исправления этих VLD теперь выдает сообщение "Утечки памяти не обнаружены", но VS2008 сообщает об куче отладки "Обнаружены утечки памяти!" затем выбрасывает сотни из них. Почти все они встречаются в vctools \ vc7libs \ ship \ atlmfc \ src \ mfc \ strcore.cpp (141).
Кажется, VLD не обнаруживает все утечки.
Использование: VLD 2.2, VS2008, MFC 9 с установленным Feature Pack.
Кстати, приведенное выше предположение о том, что выделение в этом примере оптимизировано, неверно, поскольку в отладочных сборках оптимизация не производится.