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

印刷ビューの終了

更新: 2016 年 6 月
 
 

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

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

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

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

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

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

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

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

  • 同じメモリーブロックの複数回の解放

  • メモリーリーク

  • 重複するメモリーコピー

  • 無効なポインタによるアクセス

  • システムライブラリ関数に対する正しくないパラメータ

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

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