実験範囲の制限

関連項目

プログラムの特定の部分のデータだけを記録する方法

プログラムを変更したくない場合は、データ収集の制御に dbx collector サブコマンドを使用できます。 プログラムを変更してもよい場合は、収集 API 関数への呼び出しを挿入できます。

データ収集の手動制御

  1. プログラム中でデータ収集を開始および終了する箇所に、ブレークポイントを設定します。
  2. データ収集を開始したい箇所でプログラムを一時停止します。
  3. コレクタを有効にし、設定します。 コレクタを有効にするには collector enable コマンドを使用します。
  4. プログラムの実行を続けます。
  5. データ収集を停止したい各ブレークポイントで、collector pause コマンドを入力します。
  6. データ収集を再開したい各ブレークポイントで、collector resume コマンドを入力します。
  7. データ収集が終了したら、コレクタを無効にします。 コレクタを無効にするには、collector disable コマンドを使用します。

データ収集の自動制御

  1. 「出力」ウィンドウの「dbx コマンド」タブを使ってデータ収集の一時停止と再開の条件を次のように設定します。
    when resume-condition { collector resume; cont; }
    when pause-condition { collector pause; cont; }
     
  2. データ収集を開始したい箇所でプログラムを一時停止します。
  3. コレクタを有効にし、設定します。
  4. プログラムの実行を続けます。
  5. データ収集が終了したら、コレクタを無効にします。

プログラム内部からのデータ収集の制御

  1. プログラムに、API ルーチンへの呼び出し collector_pause()collector_resume() を挿入します。
  2. API ルーチンへの呼び出しを持つ関数内にインクルードファイルを挿入します。 C または C++ プログラムでは、次の行を挿入します。

    #include libcollector.h

    Fortran プログラムでは、次の行を挿入します。

    include "libfcollector.h"

  3. プログラムを再コンパイルしてリンクします。

    Fortran プログラムでは、 -lfcollector オプションとのリンクが必要です。

  4. collect コマンド、dbx または IDE 中の dbx デバッガのどれかを使用してコレクタを有効にし、プログラムを実行します。

    データ収集が有効になっていない場合、収集 API ルーチンへの呼び出しは無視されます。 API 呼び出しを挿入するだけではデータを収集できません。

データの記録が終了したら、プログラムから collector_terminate_expt() を呼び出して、実験を終了することもできます。

関連項目
パフォーマンスデータの収集

著作権と商標について