我从控制台运行valgrind 3.12.0 版,如下所示:
valgrind --log-file="valgrind.log" --leak-check=yes ./application -param
日志似乎在应用程序运行时被污染,这已经很有趣了,因为我认为在应用程序仍在运行时不能 100% 确定地检测到内存泄漏。我猜在某些情况下(可能是线程)这是不正确的,valgrind 足够聪明,可以在早期抓住那些?
真正困扰我的是,有多个“泄漏摘要”包含或多或少相同的信息。在我看来,后期记录的摘要包含更多信息。
您将在下面找到在我的Qt 应用程序上执行的 valgrind 的输出。我用记事本列出了所有“肯定”丢失的条目。您可以看到有大量的泄漏摘要,我不知道为什么包含的信息几乎相同。尤其是从QApplication的构造函数中泄露出来的 15 个字节非常奇怪,因为它一次又一次地包含在每个摘要中。valgrind 如何决定何时创建这样的摘要?