2011-12-12 36 views
8

Qt Creatorを使用してC++アプリケーションを開発しています。メモリリークを追跡しようとしています。Qt Creatorで 'Analyze Memory'ツールを使用する

私はthese instructions *に続き、私のUbuntuマシンでValgrind isntalledを持っています。

私は解析メモリセクションからアプリケーションを開始し、停止ボタンをクリックした後、私はTool Analyze Memory finished, 928 issues foundと言います。ただし、分析セクションには何も表示されず、空白のままです。

何か間違っていますか?メモリ分析の結果はどこで見つけることができますか?


*紛らわしい、命令は「リリース」の構成を構築するために頼むが、これを選択すると、メモリ分析ツールは、デバッグ設定が必要であることを言ってはQtでの警告の原因となります。私は両方の方法を試してみました。

答えて

11

私はQt Creatorでチェックしています。 Qt 4.7.4とValgrind 3.7.0でバージョン2.3.1を使用しています。私はdropsite exampleデバッグビルドの設定でそれをテストしました。また私はCMakeベースのプロジェクト(-gと-O0フラグ付きのcompiled)でテストしました。開始ボタンValgrind Memory Analyzerが選択されていることを確認してください。同じバーに矢印アイコンがあります。それらの横にはファンネルのアイコンがあります(私は思う)。それをクリックし、あなたが興味を持っているエラーのタイプがチェックされていることを確認してください。

コンソールでValgrindツールを使用したくない場合は、ValkyrieのようなValgrind GUIsがあります。

編集:Qt Creatorをバージョン2.4.0rc1に更新し、私のCMakeプロジェクトで確認しました。数百の問題を報告しながら、結果も示されなかった。これに対する解決策は、漏斗アイコンをクリックした後にExternal errorsをチェックすることでした。

EDIT2:最終2.4.0問題が修正されました。

+2

最新のQt Creator 3.2.1で問題が戻ってきました。 +1は「外部エラー」です。それは私のために働いた!ありがとう! – mchiasson

+0

これはまだ3.6.0にあります。外部エラーが修正されました。ありがとう! – marmistrz

1

あなたは間違ったことはありませんでした。 Valgrindメニューで、フィルターアイコンを押してExternal Errorsを選択します。すべての問題が表示されます。それらはあなたのアプリケーションからではなく、Qtや他のものと関連している可能性が高いので、しばしばそれらを無視することができます。

X issues foundは、問題の総数を表します。 External Errorsが選択されていない場合、あなたのアプリに関連するものだけが表示されます。何も表示されない場合、Valgrindはあなたのアプリでメモリリークを検出していません。

+0

これは外部からメモリリークが発生することを意味しますか? – CaptainDaVinci

関連する問題