使用带有 QApplication 的视觉检漏仪

Using Visual Leak Detector with a QApplication

本文关键字:视觉 QApplication      更新时间:2023-10-16

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

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

有没有办法强制应用程序显示控制台窗口?或者也许是一种将 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 中设置 ReportTo 和 ReportFile 来解决.ini:

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

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

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