Sun Studio 12: dbx コマンドによるデバッグ

OpenMP コードにおける dump コマンドの使用

並列領域で実行が停止すると、dump コマンドによって private 変数の複数のコピーが出力されます。次の例では、dump c コマンドが変数 i の 2 つのコピーを出力します。


[t@1 l@1]: dump
i = 1
sum = 0.0
a = ARRAY
i = 1000001

変数 i の 2 つのコピーが出力されるのは、アウトラインルーチンがホストルーチンのネストされた関数として実装され、private 変数がアウトラインルーチンの局所変数として実装されます。dump コマンドがスコープ内のすべての変数を出力する ため、ホストルーチン内の i およびアウトラインルーチン内の i の両方が表示されます。