我试图在我的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 = file
或ReportTo = both
。 现在,VLD产生的输出将被写入指定的文件。