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?

39
demandé sur Jonathan Leffler 2013-11-01 06:09:09

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.

12
répondu Jonathan Leffler 2013-11-01 14:03:11

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.

11
répondu chutsu 2013-11-15 19:19:52

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 dtracela commande.

7
répondu user1118321 2013-11-01 04:11:32