私はMacと計測器が新です。私はQtアプリをテストするために使っています。リークしたオブジェクトがたくさんありました。ほとんどすべてQtライブラリから来ています。コードは非常に慎重ですが、問題を見つけることができません。メモリリークの問題を避けるために、私は厳密にRAIIのルールに従います。常にクラスがリソースを処理できるようにし、すべてのウィジェットに親があることを確認します。親のないウィジェットは、スマートポインタまたはQt :: WA_DeleteOnCloseで保護します。メモリリークの警告を修正するにはインストゥルメントは私にメモリリークを伝え続けています
、私は 楽器はいつも私が(グラフのように)いくつかのメモリリークを持っていることを示し、非常に単純なのQtアプリケーションを作成し、テストとしてそれを使用する私が作成したとしても、ほとんどの最も簡単な のQtアプリ。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel w;
w.resize(320, 240);
w.show();
return a.exec();
}
楽器
のグラフは、私は、コードを少し変更し、そして楽器によるメモリリークショーが か上昇続けるだろう参照してください。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
for(size_t i = 0; i != 100; ++i){
QLabel w;
w.resize(320, 240);
w.show();
}
QLabel w;
w.resize(320, 240);
w.show();
return a.exec();
}
メモリリークが増加してやる、私は強く、私は戻ってQt4版にドロップする必要があり(と私はそれが希望を知らない他の 、これは楽器の間違いであることを願っています同じ問題があるかどうかはわかりません).I この単純なアプリがMac App Store(OSX)の品質チェックに合格するとは思いません。 何が起こっているのですか?この現象を説明するにはどうすればいいですか?メモリリークがない場合は、 にリークオブジェクトのメッセージが表示されません。Qt5.0.2のバグですか?
非常に長い時間プログラムを実行したままにしておくと、メモリワーキングセットが着実に増加していますか?漏れ検出器に何か問題があると推測するのは急いではありませんが、誤検知を初めて見たのは初めてではありません。 –
私は自分の答えを編集して、新しい試みをし、楽器で示されたメモリリークが増えます、悪いニュース – StereoMatching
私は「メモリの作業セットが着実に増加していますか? 「Windowsのタスクマネージャウィンドウ(またはMac相当版)を見ると、作業セットの列が順調に増えていますか?」 –