Oracle® Solaris Studio 12.4: Discover および Uncover ユーザーズガイド

印刷ビューの終了

更新: 2015 年 12 月
 
 

メモリーエラー探索ツール (discover)

メモリーエラー探索ツール (discover) ソフトウェアは、メモリーアクセスエラーを検出するための高度な開発ツールです。discover ユーティリティーは、Sun Studio 12 Update 1、Oracle Solaris Studio 12.2、Oracle Solaris Studio 12.3、または Oracle Solaris Studio 12.4 コンパイラを使用してコンパイルされたバイナリ上で機能します。Solaris 10 10/08 以上のオペレーティングシステム、Oracle Solaris 11、Oracle Enterprise Linux 5.x、または Oracle Enterprise Linux 6.x 以上を実行する SPARC ベースまたは x86 ベースのシステムで動作します。

プログラムのメモリー関連のエラーは、検出が難しいことで知られています。discover ユーティリティーを使用すると、ソースコードに存在している問題の正確な場所を指摘することによって、このようなエラーを簡単に検出できます。たとえば、プログラムが配列を割り当てたが、それを初期化せずに、ある配列の場所から読み取ろうとする場合、プログラムの動作が不安定になることがあります。discover ユーティリティーは、通常の方法でプログラムを実行するときに、この問題を検出できます。

    discover によって検出されるほかのエラーには、次のものがあります。

  • 非割り当てメモリーからの読み取り、および非割り当てメモリーへの書き込み

  • 割り当て済み配列範囲外のメモリーへのアクセス

  • 解放されたメモリーの不正使用

  • 不正なメモリーブロックの解放

  • メモリーリーク

discover はプログラムの実行中にメモリーアクセスエラーを動的に検出して報告するため、実行時にユーザーコードの一部が実行されない場合、その部分のエラーは報告されません。

discover ユーティリティーは簡単に使用できます。コンパイラによって準備されたすべてのバイナリは (完全に最適化されたバイナリでも)、単一のコマンドを使用して計測し、通常の方法で実行できます。discover は実行中にメモリー異常のレポートを生成します。これはテキストファイル形式で、または Web ブラウザに HTML 形式で表示できます。