将Visual Leak Detector与QApplication配合使用

时间:2017-05-19 13:02:13

标签: c++ visual-studio qt memory-leaks visual-leak-detector

我正在尝试在我的Qt应用程序中找到内存泄漏。我已经将Visual Leak Detector用于其他一些项目,但VLD将输出写入控制台窗口。

我现在的问题是,当使用QApplication时,没有显示控制台窗口,因此没有来自VLD的输出。我正在使用Visual Studio 2015和Qt VS Tools插件。

有没有办法强制应用程序显示控制台窗口?或者也许是一种将VLD生成的输出写入文件的方法?

我如何启动我的应用程序:

#include "mainwindow.h"

#include <vld.h>
#include <QApplication>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

1 个答案:

答案 0 :(得分:1)

正如ssbssa指出的那样,可以通过在VLD安装文件夹中的vld.ini中设置ReportTo和ReportFile来解决问题:

  1. ReportFile =更改为ReportFile = memory_leak_report.txt或类似的内容。

  2. ReportTo = debugger更改为ReportTo = fileReportTo = both

  3. 现在,VLD生成的输出将写入指定的文件。