第13章 Valgrind


Valgrind は、プロファイリングアプリケーション用のツールが多数同梱されるインストルメンテーションフレームワークです。これは、初期化されていないメモリーの使用、メモリーの不適切な割り当ておよび解放など、さまざまなメモリーエラーやメモリー管理の問題を検出するために使用できます。Red Hat Developer Toolset バージョンの Valgrind で配布されるプロファイリングツールの完全リストは、表13.1「Red Hat Developer Toolset の Valgrind で配布されるツール」 を参照してください。

Valgrind は、アプリケーションを書き換え、書き換えたバイナリーをインストルメント化して、アプリケーションのプロファイルを作成します。これにより、アプリケーションを再コンパイルせずにプロファイリングできますが、Valgrind は特に非常に詳細な実行を実行する場合など、他のプロファイラーよりも大幅に遅くなります。したがって、これは時間固有の問題のデバッグや、カーネルスペースのデバッグには適していません。

Red Hat Developer Toolset には Valgrind 3.19.0 が同梱されています。このバージョンは、以前のリリースの Red Hat Developer Toolset に含まれるバージョンよりも新しいもので、バグ修正および機能拡張が追加されています

表13.1 Red Hat Developer Toolset の Valgrind で配布されるツール
名前説明

Memcheck

システムコールを傍受し、読み書き操作をすべてチェックして、メモリー管理の問題を検出します。

Cachegrind

レベル 1 命令キャッシュ (I1)、レベル 1 データキャッシュ (D1)、および統一レベル 2 キャッシュ (L2) をシミュレートして、キャッシュミスのソースを特定します。

Callgrind

関数呼び出し履歴を表す呼び出しグラフを生成します。

Helgrind

POSIX スレッドのプリミティブを使用するマルチスレッド C、C++、および Fortran プログラムで同期エラーを検出します。

DRD

POSIX スレッドのプリミティブまたは、これらの POSIX スレッドのプリミティブ上に構築された他のスレッド概念を使用するマルチスレッド C および C++ プログラムのエラーを検出します。

Massif

ヒープおよびスタックの使用状況を監視します。

13.1. Valgrind のインストール

Red Hat Developer Toolset では、devtoolset-12-valgrind パッケージにより Valgrind が提供され、devtoolset-12-perftools で自動的にインストールされます。

Red Hat Developer Toolset および関連パッケージをシステムにインストールする方法は、「Red Hat Developer Toolset のインストール」 を参照してください。

注記

GNU デバッガーValgrind を組み合わせて使用する場合は、Red Hat Developer Toolset に含まれる GDB のバージョンを使用して、すべての機能が完全にサポートされることを確認することが推奨されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.