2013-01-01 20 views
7

benim OS X 10.8 notebook üzerinde valgrind çalıştırmayı her zaman, olsun:valgrind OS X üzerinde çalışmayan 10.8

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

sorunu nedir? Bunu nasıl düzeltebilirim? Her şey Linux'ta iyi çalışıyor, bu yüzden bir şekilde valgrind yanlış kullanıyorum. Kullanıyorum tam çizgi valgrind --tool=memcheck --leak-check=full ./a.out.

cevap

8

aynı hatayı alıyordum, ama sadece (benim için homebrew kullanılarak brew upgrade valgrind) 3.8.1 için valgrind yükseltilmiş ve Valgrind çalışan aşağıdaki uyarıyı yazdırır rağmen, çalışır:

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

Teşekkür Bu sorunu çözdü. Görünüşe göre en son sürümü kullanıyordum, ama bir şekilde çalışmayan SVN'den paketi kullanıyordum. Bir demlemek yapmak valgrind; demlemek yüklü valgrind 'nihayet yüklü 3.8.1'. – houbysoft

+0

Benim durumumda bu, Aslan’tan Dağ Aslanı’na geçişten kaynaklanıyordu. En son sürüme sahipseniz, güncelleme işlemi çalışmayabilir. Yeniden derlenmeyi zorlamak için, @ houbysoft'un adımlarını izleyin (yukarıdaki yorum). –

3

kullanıyorum bu sorun vardı Macports ile valgrind. Ben bir 32 bit yürütülebilir Valgrind çalışıyordu

sudo port install valgrind +universal 

ile yüklemek için gereken çıkıyor ve ben + evrensel olmadan, 32 bit desteği derlenmiş görmemiş olduğunu düşünüyoruz.