Valgrind Memcheck

在项目Valgrind设置中,为所有项目全局设置或为每个项目的运行设置单独设置。

要设置 Valgrind 的全局首选项,请选择首选项 > 分析器。在 Memcheck 内存分析选项 中设置 Memcheck 首选项。

{Memory Analysis options}

额外 Memcheck 参数 中,指定用于启动可执行文件的附加参数。

设置堆栈跟踪长度

堆栈跟踪可能会非常大且令人生畏,因此,从底部向上阅读可以帮助您理解。如果堆栈跟踪不够大或太大,请选择首选项 > 分析器,并在 回溯帧计数 字段中设置堆栈跟踪的长度。

跟踪未初始化内存的起源

Memcheck 还会报告对未初始化值的的使用,最常见的是显示消息条件跳转或移动取决于未初始化的值。要确定这些错误的根本原因,默认情况下会选中跟踪未初始化内存的起源复选框。您可以取消选中它以使 Memcheck 运行更快。

查看摘要

当客户端应用程序完成后,Memcheck 会查找内存泄漏。要查看发生的泄漏量,请选择仅摘要,在在完成时检查泄漏字段中。要同时查看每个泄漏的详细信息,请选择完整

显示可到达和间接丢失的块

可到达的块是指由指针或指针链指向的块,并在应用程序退出之前可能已被释放。 间接丢失的块被认为是丢失的,因为指向它们的所有块都已丢失。例如,丢失的根节点的所有子节点都是间接丢失的。

默认情况下,Memcheck不会报告可达的和间接丢失的块。要报告它们,请选择显示可达的和间接丢失的块

抑制错误

Memcheck检测系统库中许多问题,例如与操作系统一起预安装的C库。由于您无法轻松修复它们,因此希望抑制它们。Valgrind在启动时读取要抑制的错误列表。当系统构建时,由./configure脚本创建默认抑制文件。

如果您项目中的一部分有无法修复的错误且不想再被提醒,可以编写自己的抑制文件。在MemCheck内存分析对话框中选择添加以添加抑制文件。

有关编写抑制文件的更多信息,请参阅Valgrind文档中的抑制错误

另请参阅使用Memcheck检测内存泄露分析函数执行情况在外部应用上运行Valgrind工具指定项目的Valgrind设置Valgrind Callgrind

©2024 Qt公司有限公司。内含的文档贡献分别是其各自所有人的版权。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及相关标识是芬兰及其它地区的Qt公司的商标。所有其他商标均为各自所有者的财产。