Valgrind报告x86机器中的内存以及文件和函数名肯定会丢失。
- x86计算机**
联阿援助团a:
第一个月==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==
==8975== LEAK SUMMARY:
但是同样的代码在aarch64机器上运行时,valgrind不报告任何信息,比如文件名或函数名,尽管内存肯定丢失了。
- aarch64委员会**
联阿援助团a:Linux ds4 4.9.253-tegra #1 SMP PREEMPT Thu Feb 24 11:50:52 EST 2022 aarch64 aarch64 aarch64 GNU/Linux
==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)
x1米10英寸1x
x1米11米1x
有人在aarch64中遇到过这个问题吗?如何在aarch64或任何类似的板的valgrind报告中获得函数,文件名,行号?
注:valgrind和编译器版本在x86和aarch64中是相同的。
1条答案
按热度按时间8xiog9wr1#
这可能是因为程序是用不同的选项编译的。
我的测试设置:
不使用
-g
选项进行编译:使用
-g
选项编译:泄漏被正确地定位在main.cpp:6中,其中包含使用调试信息编译的可执行文件。