Valgrind Alternative für Mountain Lion

4

Leider unterstützt Valgrind OS X 10.8 noch nicht. Nach einigem Googeln stieß ich auf einige Forenbeiträge, in denen die Leute die Möglichkeit hatten, sie zu kompilieren und "fast" zu verlinken. Kennt jemand eine gute Alternative zu Valgrind zur Erkennung von Speicherlecks?

void-pointer
quelle

Antworten:

1

Vorausgesetzt, Sie können gestört werden, wenn Sie installieren MacPorts Sie können ein funktionierendes Valgrind (3.8.1 wie heute) auf Ihrem System installieren. Leider müssen Sie in MacPorts den gesamten XCode installieren, nicht nur die CL-Tools, also YMMV.

user1256923
quelle
Ich bin auf diese Frage zurückgekommen, um diese Informationen selbst zu posten. Ich benutze MacPorts und erkannte, dass Valgrind jetzt funktioniert.
void-pointer
2

Valgrind kann zwar installiert werden, der aktuelle Status ist jedoch nicht sehr nützlich. In einem einfachen Programm habe ich folgendes Ergebnis erhalten:

==16016== 
==16016== HEAP SUMMARY:
==16016==     in use at exit: 63,264 bytes in 364 blocks
==16016==   total heap usage: 516 allocs, 152 frees, 67,154 bytes allocated
==16016== 
==16016== LEAK SUMMARY:
==16016==    definitely lost: 8,624 bytes in 14 blocks 
==16016==    indirectly lost: 1,168 bytes in 5 blocks
==16016==      possibly lost: 4,933 bytes in 68 blocks
==16016==    still reachable: 48,539 bytes in 277 blocks
==16016==         suppressed: 0 bytes in 0 blocks
==16016== Rerun with --leak-check=full to see details of leaked memory
==16016== 
==16016== For counts of detected and suppressed errors, rerun with: -v
==16016== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Der gleiche Code ist in Ordnung, wenn valgrind unter Linux verwendet wird (auf den jeweiligen Systemen kompiliert).

Josiah
quelle
Sie sollten viel mehr Details angeben, um zu jeglicher Unklarheit zu gelangen. Gcc auf beiden benutzen? Oder gcc / clang? Verlinkung zu welchen Bibliotheken / Versionen? Identische Version und Compile Flags?
Narcolessico
2

Die Instruments-App (Teil von Xcode) ist eine sehr gute Methode, um nach Lecks zu suchen und Stresstests für die Speicherzuweisung eines laufenden Programms durchzuführen.

Sebastien Varrette
quelle
Können Sie ein paar Beispiele geben, wie man mit Instrumenten dasselbe machen kann wie mit Valgrind?
nohillside
Sehen dieser Thread zum Beispiel. Ich persönlich habe immer noch Probleme mit meinem neuen MacBook Pro Retina, die angezeigt werden unknown processor Im Gegeninstrument mag es dennoch für Sie funktionieren.
Sebastien Varrette