2017-05-19 20 views
2

Qtアプリケーションでメモリリークを検出しようとしています。他のプロジェクトには既にVisual Leak Detectorを使用しましたが、VLDは出力をコンソールウィンドウに書き込みます。QApplicationでVisual Leak Detectorを使用する

私の問題は、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

[Qt GUIアプリでのコンソール出力](http://stackoverflow.com/questions/3360548/console-output-in-a-qq-gui-app) – KjMag

+0

[VLDのドキュメント](https://vld.codeplex.com/wikipage?title=Configuration%20Options&referringTitle=Documentation)、vld.iniに 'ReportTo'と' ReportFile'オプションを設定してください。 – ssbssa

+0

@ssbssaありがとう!それが私の問題を解決しました。 – karposhark

答えて

1

ssbssaがコメントとして指摘したように、問題はVLDのインストールフォルダにありvld.iniにReportToとREPORTFILEを設定することで解決することができます。

  1. 変更ReportFile =ReportFile = memory_leak_report.txtなどです。

  2. 変更ReportTo = debuggerからReportTo = fileまたはReportTo = bothです。

ここで、VLDによって生成された出力は、指定されたファイルに書き込まれます。