AArch64开发板Valgrind无法显示内存泄漏的文件及函数名求助
AArch64平台Valgrind无法显示内存泄漏的文件、函数名及行号问题
x86平台正常表现
在x86机器上,Valgrind可以正常报告内存泄漏,并显示对应的文件、函数名和行号。
测试代码
#include<bits/stdc++.h> using namespace std; int main() { char *name = new char[30]; cout << "Enter name" << endl; cin >> name; cout << "Hi " << name << endl; //delete name; return 0; }
x86机器系统信息
执行uname -a输出:
Linux raja-VirtualBox 5.4.0-135-generic #152~18.04.2-Ubuntu SMP Tue Nov 29 08:23:49 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Valgrind输出
==8975== 30 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==8975== at 0x4C3289F: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8975== by 0x1089CB: main (test.cpp:6) ==8975== ==8975== LEAK SUMMARY:
AArch64平台异常表现
将相同代码在AArch64开发板运行时,Valgrind仅报告内存泄漏,无法显示文件、函数名及行号信息。
AArch64开发板系统信息
执行uname -a输出:
Linux ds4 4.9.253-tegra #1 SMP PREEMPT Thu Feb 24 11:50:52 EST 2022 aarch64 aarch64 aarch64 GNU/Linux
Valgrind输出
==19468== 30 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==19468== at 0x48468F4: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-arm64-linux.so) ==19468== ==19468== LEAK SUMMARY:
问题
是否有人遇到过AArch64平台的此类问题?如何让Valgrind在AArch64等平台的报告中显示函数、文件名及行号?
注:x86与AArch64平台的Valgrind及编译器版本一致。
内容的提问来源于stack exchange,提问作者raja
相关产品推荐
相关产品推荐

