我正在尝试在我的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();
}
答案 0 :(得分:1)
正如ssbssa指出的那样,可以通过在VLD安装文件夹中的vld.ini中设置ReportTo和ReportFile来解决问题:
将ReportFile =
更改为ReportFile = memory_leak_report.txt
或类似的内容。
将ReportTo = debugger
更改为ReportTo = file
或ReportTo = both
。
现在,VLD生成的输出将写入指定的文件。