Ваше лучшее решение, вероятно, заключается в использовании valgrind , который является одним из лучших инструментов.
Если вы работаете в OS X с Xcode, вы можете использовать инструмент Leaks. Если вы щелкнете по инструменту «Выполнить с производительностью» и выберете «Утечки», он покажет выделенную и просочившуюся память.
Что-то помнить, хотя. Большинство перечисленных инструментов описывают только инструменты, которые улавливают утечки памяти по мере их возникновения. Так что если у вас есть какой-то код, который вызывает утечку памяти, но редко вызывается (или достаточно редко, чтобы вы не сталкивались с ним при тестировании на утечки памяти), то вы можете пропустить его. Если вы хотите что-то, что действительно проходит через ваш код, вам понадобится статический анализатор. Единственный, кого я знаю, это Clang Static Analyzer , но он предназначен для C и Obj-C (я не знаю, поддерживает ли он C ++).