每次我尝试valgrind
在我的 OS X 10.8 笔记本上运行时,我都会得到:
bad executable (no stack)
valgrind: ./a.out: cannot execute binary file
问题是什么?我怎样才能解决这个问题?在 Linux 上一切正常,所以并不是我在以某种方式滥用valgrind
. 我正在使用的确切行是valgrind --tool=memcheck --leak-check=full ./a.out
.
每次我尝试valgrind
在我的 OS X 10.8 笔记本上运行时,我都会得到:
bad executable (no stack)
valgrind: ./a.out: cannot execute binary file
问题是什么?我怎样才能解决这个问题?在 Linux 上一切正常,所以并不是我在以某种方式滥用valgrind
. 我正在使用的确切行是valgrind --tool=memcheck --leak-check=full ./a.out
.
我遇到了同样的错误,但我刚刚将 valgrind 升级到3.8.1
(brew upgrade valgrind
为我使用 HomeBrew),并且它可以工作,尽管运行 Valgrind 会打印以下警告:
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.
我在使用 valgrind 和 macports 时遇到了这个问题。事实证明我需要安装
sudo port install valgrind +universal
我试图 valgrind 一个 32 位可执行文件,我相信没有 +universal,32 位支持不会被编译。