ARM 计算机中的 Valgrind 堆栈跟踪不正确

Valgrind stack trace not proper in ARM machine

提问人:Durgesh kumar 提问时间:9/6/2022 最后编辑:Durgesh kumar 更新时间:11/17/2023 访问量:42

问:

我在 ARM 机器 (ubuntu) 上的简单程序上运行 valgrind,在机器上使用最新的 valgrind (Valgrind-3.13.0) 在 valgrind 报告中没有获得正确的堆栈跟踪。

堆摘要: 出口时使用:6 个块 2,400 字节 总堆使用量:7 个分配,1 个释放,分配 3,424 字节

6 个区块中的 2,400 个字节肯定在丢失记录 1 的 1 中丢失 在 0x4845BFC:malloc(在 /usr/lib/valgrind/vgpreload_memcheck-arm64-linux.so 中)

泄漏摘要: 绝对丢失:6 个块中的 2,400 个字节 间接丢失:0 个块中的 0 个字节 可能丢失:0 个块中的 0 个字节仍可访问:0 个块中的 0 个字节 抑制:0 个块中的 0 个



字节

对于检测到的和禁止显示的错误的计数,请使用以下命令重新运行:-v 错误摘要:来自 1 个上下文的 1 个错误(禁止显示:0 中的 0)

正如您所看到的,malloc 正确的堆栈跟踪没有出现在报告中,任何人都可以对此提供帮助吗?

Ubuntu Arm malloc valgrind debug-backtrace

评论

0赞 Community 9/7/2022
请提供足够的代码,以便其他人可以更好地理解或重现问题。
0赞 phd 9/8/2022
Valgrind 3.13.0 是一个相当古老的 Valgrind 版本,并且已经完成了许多改进/错误修复。您最好下载最新版本 (3.19.0),构建它并尝试使用此更新版本。此外,请务必使用调试信息 (-g) 编译程序。
0赞 bui3 10/20/2023
同样的事情发生在我身上,版本 3.21.0

答:

0赞 Milind Dumbare 11/17/2023 #1

您必须确保 vgpreload_memcheck-arm-linux.so 没有被剥夺其调试符号。