#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 の値が可視となります。
関連情報