Existe-t-il des alternatives à valgrind sur Mac OS X Mountain Lion et Mavericks pour détecter les fuites de mémoire pour les applications C/C++? [fermé]
j'ai l'habitude d'utiliser valgrind
pour détecter les fuites de mémoire pour mes applications C/C++ sous Mac OS X 10.6 (Snow Leopard), 10.7 (Lion), mais je trouve que c'est pas pris en charge sur les versions récentes comme 10.8 (Mountain Lion) et 10.9 (Mavericks) quand j'ai mis à jour mon système d'exploitation.
Est-il autre chose comme valgrind
qui peut être installé sur Mac OS X 10.9?
3 réponses
le 01/11/2013, le valgrind
annonce de L'équipe Valgrind 3.9.0:
Nous sommes heureux d'annoncer une nouvelle version de Valgrind, version 3.9.0, disponible à partir de http://www.valgrind.org.
3.9.0 est une version de fonctionnalité avec de nombreuses améliorations et les habituelles collection de corrections de bugs. Cette version ajoute la prise en charge de mips64 / Linux, Instructions Intel AVX2 et POWER8. Le soutien de DFP a été ajouté pour S390. Initial prise en charge de la mémoire matérielle transactionnelle a été ajouté pour les plateformes Intel et POWER. Prise en charge de Mac OS X 10.8 (Mountain Lion) a été améliorée. Précision du Memcheck sur vectorisé le code a été amélioré.
il reste à voir si le support amélioré du Lion de montagne signifie QU'il fonctionne bien pour les Mavericks. Il mentionne que le support est uniquement pour le code 64 bits.
[...le temps qui passe...les téléchargements se produisent...les espoirs sont élevés...la configuration est tenter...les espoirs sont déçus...]
Urgh!
...
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking for a supported CPU... ok (x86_64)
checking for a 64-bit only build... no
checking for a 32-bit only build... no
checking for a supported OS... ok (darwin13.0.0)
checking for the kernel version... unsupported (13.0.0)
configure: error: Valgrind works on Darwin 10.x and 11.x (Mac OS X 10.6/7)
Mountain Lion est basé sur Darwin 12.x; Mavericks est basé sur Darwin 13.x. Je ne suis pas sûr de la messagerie dans les messages d'erreur, mais hors de la boîte, Valgrind 3.9.0 ne se compile pas sur OS X Mavericks.
juste pour que vous le sachiez, vous n'aurez peut-être pas à attendre longtemps pour voir Valgrind travailler sur Mac 10.9 a. K. un Maverick. Comme il y a eu un certain succès selon ce rapport de bogue.
a mon avis, Il n'y a actuellement (au 15 novembre 2013) aucune alternative Valgrind pour le Mac. Il y en a à surveiller, notamment Clang qui a les deux d'addresssanitizer (fonctionne sur les mac actuels) et MemorySanitizer (mac pas encore pris en charge).
il y a des suggestions pour utiliser les Instruments de Xcode, mais je ne l'ai pas trouvé utile du tout.
en plus des Instruments que @Charlie_Burns mentionne ci-dessus, il y a aussi l'analyseur statique qui peut vous parler de certaines de ces choses simplement en analysant votre code. Dans votre projet Xcode, sélectionnez simplement "analyser" dans le menu "produit". Il invoque l' clang
analyseur statique. Je pense que vous pouvez utiliser clang
directement de la ligne de commande si vous voulez, aussi, bien que je n'ai pas fait cela.
sur la ligne de commande vous avez aussi accès au leaks
la commande et la dtrace
la commande.