このページでは

Valgrind Memcheck

すべてのプロジェクトに対してグローバルに、またはプロジェクトの実行設定でプロジェクトごとに個別に、Valgrind の環境設定を設定します。

Valgrind のグローバル環境設定を設定するには、環境設定>Analyzer を選択します。Memcheck Memory Analysis Options で、Memcheck の環境設定を設定します。

Analyzer環境設定のValgrindタブにあるMemcheckメモリ解析オプション

Extra Memcheck arguments で、実行ファイルを起動するための追加引数を指定します。

スタック・トレースの長さの設定

スタック・トレースは非常に大きくなり、混乱することがあります。スタック・トレースの長さが十分でない、または大きすぎる場合は、Preferences>Analyzer を選択し、Backtrace frame count フィールドでスタック・トレースの長さを定義します。

未初期化メモリの起源の追跡

Conditional jump or move depends on uninitialised value(s). これらのエラーの根本原因を特定するために、Memcheck は未初期化メモリの起源を追跡します。Track origins of uninitialized memory をクリアすると、Memcheck の実行が速くなります。

サマリーの表示

Memcheck は、クライアント・アプリケーションの終了時にメモリ・リークを検索します。発生したリークの量を表示するには、Check for leaks on finish フィールドでSummary Only を選択します。また、各リークの詳細を表示するには、Full を選択します。

到達可能ブロックと間接的に失われたブロックの表示

到達可能なブロックとは、ポインタまたはポインタの連鎖によって指し示され、アプリケーションが終了する前に解放された可能性のあるブロックのことです。間接的に失われたブロックは、そのブロックを指すすべてのブロック自体が失われたため、失われたとみなされます。たとえば、失われたルート・ノードの子はすべて間接的に失われたことになります。

デフォルトでは、Memcheck は到達可能なブロックと間接的に失われたブロックを報告しません。報告させるには、Show reachable and indirectly lost blocks を選択します。

エラーの抑制

Memcheck は、OS にプリインストールされている C ライブラリなどのシステム・ライブラリの数多くの問題を検出します。これらの問題は簡単に修正できないので、抑制したいものです。Valgrindは起動時に抑制するエラーのリストを読み込む。デフォルトの抑制ファイルは、システムのビルド時に./configure スクリプトによって作成されます。

プロジェクトの一部に修正できないエラーがあり、それを思い出したくない場合は、自分で抑制ファイルを書くことができます。サプレッション・ファイルを追加するには、MemCheck Memory Analysis ダイアログでAdd を選択します。

抑制ファイルの書き方については、Valgrind ドキュメントのSuppressing Errorsを参照してください。

Memcheck によるメモリ・リークの検出関数の実行プロファイル外部アプリケーションでの Valgrind ツールの実行プロジェクトの Valgrind 設定の指定、およびValgrind Callgrindも参照してください

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.