ユーザーは #pragma ibm snapshot を使用して、ブレークポイントを設定できるロケーションを指定し、またプログラム実行がそのロケーションに達したときに検査できる変数のリストを定義することができます。
.-,-------------. V | >>-#--pragma--ibm snapshot--(----variable_name-+--)------------><
ここで、variable_name は変数の集合です。クラス、構造体、または共用体のメンバーは指定できません。
このプラグマは、XL C/C++ コンパイラーによって作成された最適化コードをデバッグしやすくするために提供されています。デバッグ・セッション中、この行にブレークポイントを置いて、名前付き変数の値を表示することができます。プログラムのコンパイル時に最適化を行うように指定し、またオプション -g を組み込んでおくと、名前付き変数をデバッガーから見えるようにすることができます。
#pragma ibm snapshot で指定した変数は、デバッガーでの監視中は読み取り専用と見なすべきであり、変更してはなりません。デバッガー内のこれらの変数を変更すると、予期しない動きをする場合があります。
#pragma ibm snapshot(a, b, c)
プログラム内のこのポイントでデバッガーによりブレークポイントが設定された場合、変数 a、b、および c の値は可視でなければなりません。
関連参照