Ich brauche ein Tool, das mir hilft, Speicherlecks in einem c-Programm auf ähnliche Weise zu finden, wie Valgrind es tut. Es sollte herausfinden, wenn ein Programm Speicher überschreibt, sollte es nicht (z. B. durch Fehlkalkulation eines Array-Index). Ich habe gelernt, dass es zusammen mit der App für grafische Instrumente das Dienstprogramm für Lecks gibt.
Ich denke jedoch, dass es nur Speicher finden kann, der mit new (oder malloc) zugewiesen wurde, der nicht freigegeben wurde und nicht mehr zugänglich ist. Auch habe ich gelernt, dass Valgrind an älteren Releases (10.5 und 10.6) arbeiten soll, aber ich benutze Löwe (10.7).
Ich würde das XCode-Entwicklertool verwenden MallocDebug . Sie sollten dies mit XCode in Ihrem / Developer Ordner installiert haben
Alternativ können Sie Ihre Anwendung in gdb ausführen und die native malloc-Protokollierung verwenden, indem Sie
ausführen %Vor% Dann können Sie /usr/bin/leaks
und /usr/bin/malloc_history
verwenden, um offensichtliche Lecks zu finden
Tags und Links c memory-leaks macos