2013-01-01 4 views
7

Chaque fois que je tente d'exécuter valgrind sur mon OS X 10.8 bloc-notes, je reçois:valgrind ne fonctionne pas sur Mac OS X 10.8

bad executable (no stack) 
valgrind: ./a.out: cannot execute binary file 

Quel est le problème? Comment puis-je réparer cela? Tout fonctionne bien sur Linux, donc ce n'est pas que je suis en quelque sorte abuser valgrind. La ligne exacte que j'utilise est valgrind --tool=memcheck --leak-check=full ./a.out.

Répondre

8

Je recevais la même erreur, mais je viens de mettre valgrind à 3.8.1 (brew upgrade valgrind en utilisant Homebrew pour moi), et il fonctionne, bien que l'exécution Valgrind imprime l'avertissement suivant:

WARNING: Support on MacOS 10.8 is experimental and mostly broken. 
WARNING: Expect incorrect results, assertions and crashes. 
WARNING: In particular, Memcheck on 32-bit programs will fail to 
WARNING: detect any errors associated with heap-allocated data. 
+1

Merci, ce a résolu le problème. Apparemment, j'utilisais la dernière version, mais en utilisant le paquet de SVN, qui d'une manière ou d'une autre ne fonctionnait pas. Faire un 'brassage enlever valgrind; infuser installer valgrind' finalement installé «3.8.1». – houbysoft

+0

Dans mon cas, cela était dû à la modernisation de Lion à Mountain Lion. La mise à jour peut ne pas fonctionner si vous avez déjà la dernière version. Pour forcer la recompilation, suivez les étapes de @ houbysoft (commentaire ci-dessus). –

3

J'ai eu ce problème à l'aide valgrind avec macports. Il se trouve que je devais installer avec

sudo port install valgrind +universal 

Je tentais de Valgrind un exécutable 32 bits et je crois que, sans + universel, le soutien 32bit n'a pas été compilé.

Questions connexes