我正在使用Ubuntu 18.04
VM,并试图找到一种方法来valgrind
检查arm-Linux
可执行文件。我尝试使用本地gcc
进行编译,但是遇到了一些问题。可执行文件由项目提供的Makefile创建。我尝试了linaro emulator
,但仍遵循在线指南,但遇到了多个问题,对于我在网上搜索过的每个解决方案,都失败了。 valgrind
有什么方法?
只要我可以检查程序是否存在内存泄漏,任何方法都可以。 我现在valgrind可执行文件时会得到什么:
valgrind:无法为平台“ arm-linux”启动工具“ memcheck”:没有此类文件或目录
文件本身是固定的: nrf52832_xxaa.out:ELF 32位LSB可执行文件,ARM,EABI5版本1(SYSV),静态链接,带有debug_info,未剥离
我在多个帖子中搜索了解决方案,但找不到任何答案。
答案 0 :(得分:2)
交叉编译valgrind,然后在目标上执行。没有其他办法了。甚至不能使用qemu执行valgrind。
答案 1 :(得分:0)
必须在设备上运行可执行文件。 请考虑以下选项:从https://packages.debian.org/search?keywords=valgrind下载用于arch示例的预编译软件包,遵循必需的依赖性,然后将其全部安装在嵌入式设备上。我通常根据libc的安装版本来确定版本。