В поисках быстрого и грязного способа идентификации вызывающей стороны конструктора (или любой другой функции) я пишу макросы, помогающие идентифицировать утечки памяти путем сброса указателей this на OutputDebugString.
this
OutputDebugString
Знание того, откуда были вызваны ctor и dtor, поможет выявить проблему.
Тая \ 0
Можете ли вы манипулировать ctor и dtor? Я не являюсь разработчиком C ++, и вы должны легко это увидеть, но, возможно, в этом случае вы могли бы передать, например, ссылку на вызывающую функцию в конструктор.
Вы работаете под Windows? Визуальный детектор утечек помог мне в прошлом найти утечки памяти.
Использование RAII также помогает уменьшить утечки памяти.
Если вы чувствуете себя предприимчивым, вы можете перегрузить новые и удалить функции. Пол Неттл делает это в своей ММГР .