我试图在我的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();
}

最佳答案

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

  • ReportFile =更改为ReportFile = memory_leak_report.txt或类似的名称。
  • ReportTo = debugger更改为ReportTo = fileReportTo = both

  • 现在,VLD产生的输出将被写入指定的文件。

    09-06 11:06