Was ist der beste Weg, um nach Speicherlecks in C ++ zu suchen?

8

Ich implementiere eine spärliche Matrix mit verknüpften Listen und es macht keinen Spaß, manuell nach Lecks zu suchen, irgendwelche Gedanken?

    
Boaz Mohar 28.12.2008, 11:27
quelle

5 Antworten

18

Der valgrind Profiler für Unix bietet eine anständige Lecksuche.

Dies ist jedoch nur ein Teil eines erfolgreichen Ansatzes. Der andere Teil besteht darin, die explizite Speicherbehandlung zu verhindern (d. H. Zu minimieren). Intelligente Zeiger und Zuweiser können viel zur Verhinderung von Speicherlecks beitragen. Außerdem verwenden do die STL-Klassen: eine Implementierung von leckagefreien verknüpften Listen wird bereits von std::list bereitgestellt.

    
Konrad Rudolph 28.12.2008, 11:33
quelle
4

Unter Windows:

Compuware BoundChecker (etwas teuer, aber sehr nett)

Visual LeakDetector (kostenlos, google es)

Unter Linux / Unix:

Reinigen

    
AlexC 28.12.2008 13:54
quelle
1

Die Originalversion von Purify unter Unix war brillant. Aber die Windows-Version, die nach dem Kauf von Rational erstellt wurde, ist schrecklich. Flakey wie die Hölle. Um jeden Preis vermeiden.

    
Andy Brice 28.12.2008 14:08
quelle
0

Wenn Sie Anjuta verwenden, können Sie Valgrind-Modul verwenden.

    
R.Chatsiri 28.12.2008 13:35
quelle
0

Sie können einen guten Artikel über Speicherlecks auf Wikipedia lesen: Ссылка

Diese Seite hat auch die guten Links zu anderen Artikeln und sogar Programmen, die Ihnen sehr helfen werden.

    
28.12.2008 14:13
quelle

Tags und Links