найти вызывающего конструктора в C ++ - PullRequest
3 голосов
/ 04 февраля 2009

В поисках быстрого и грязного способа идентификации вызывающей стороны конструктора (или любой другой функции) я пишу макросы, помогающие идентифицировать утечки памяти путем сброса указателей this на OutputDebugString.

Знание того, откуда были вызваны ctor и dtor, поможет выявить проблему.

Тая \ 0

Ответы [ 12 ]

0 голосов
/ 04 февраля 2009

Можете ли вы манипулировать ctor и dtor? Я не являюсь разработчиком C ++, и вы должны легко это увидеть, но, возможно, в этом случае вы могли бы передать, например, ссылку на вызывающую функцию в конструктор.

0 голосов
/ 04 февраля 2009

Вы работаете под Windows? Визуальный детектор утечек помог мне в прошлом найти утечки памяти.

Использование RAII также помогает уменьшить утечки памяти.

Если вы чувствуете себя предприимчивым, вы можете перегрузить новые и удалить функции. Пол Неттл делает это в своей ММГР .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...