我正在尝试在我的 32 位可执行文件(示例)上运行 valgrind 工具,我在 linux Ubuntu 主机 16.04(64 位)下构建,但它无法运行,错误:错误 ELF。
示例应用程序构建为在 arm32 中运行,在我的主机 linux 机器中交叉编译。
这是我运行的命令。
valgrind --tool=callgrind ./sample
valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
valgrind: ./sample: cannot execute binary file
我运行了 memcheck 工具,但也失败了。
valgrind --tool=memcheck ./updater
valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
valgrind: ./updater: cannot execute binary file
然后我做了什么,我导出了 valgrind lib 路径,但这没有帮助+
$export VALGRIND_LIB="/usr/lib/valgrind"
我只是我的 lib 目录,我找到了整个列表并找到了 callgrind,所有的库都在那里。
callgrind-amd64-linux
callgrind-x86-linux
不知道出了什么问题以及如何在我的可执行文件上使用 valgrind。
任何帮助,不胜感激。