You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 04:55:22