7

每次我尝试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.

4

2 回答 2

8

我遇到了同样的错误,但我刚刚将 valgrind 升级到3.8.1brew 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.
于 2013-01-03T19:33:01.403 回答
3

我在使用 valgrind 和 macports 时遇到了这个问题。事实证明我需要安装

sudo port install valgrind +universal

我试图 valgrind 一个 32 位可执行文件,我相信没有 +universal,32 位支持不会被编译。

于 2013-03-14T11:00:31.180 回答