在 QApplication 中使用可视化检漏仪

Using Visual Leak Detector with a QApplication

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

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

有没有办法强制应用程序显示控制台window?或者将 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 来解决问题:

  1. ReportFile =更改为ReportFile = memory_leak_report.txt或类似的东西。

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

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