Oracle® Solaris Studio 12.4: パフォーマンスアナライザ

印刷ビューの終了

更新: 2015 年 1 月
 
 

静的関数

ライブラリで内部的に使用される名前が、ユーザーが使用する可能性のある名前と競合しないように、ライブラリ内ではほとんど静的関数が使用されます。ライブラリをストリップすると、静的関数の名前はシンボルテーブルから削除されます。このような場合、パフォーマンスアナライザは、ストリップ済み静的関数を含むライブラリ内のテキスト領域ごとに擬似的な名前を生成します。この名前は <static>@0x12345 という形式で、@ 記号に続く文字列は、ライブラリ内のそのテキスト領域のオフセットを表します。パフォーマンスアナライザは、連続する複数のストリップ済み静的関数と単一のストリップ済み静的関数を区別できないため、2 つ以上のストリップ済み静的関数が、各メトリックがまとめられた状態で表示される場合があります。次の例は、サンプルの jsynprog デモの関数リスト内の静的関数を示しています。

0.       0.       <static>@0x18780
0.       0.       <static>@0x20cc
0.       0.       <static>@0xc9f0
0.       0.       <static>@0xd1d8
0.       0.       <static>@0xe204

「PC」ビューでは、これらの関数は、次のようにオフセットとともに表示されます。

0.       0.       <static>@0x18780 + 0x00000818
0.       0.       <static>@0x20cc + 0x0000032C
0.       0.       <static>@0xc9f0 + 0x00000060
0.       0.       <static>@0xd1d8 + 0x00000040
0.       0.       <static>@0xe204 + 0x00000170

ストリップ済みライブラリ内で呼び出された関数は、「PC」ビューで次のように表示される場合もあります。

<library.so> -- no functions found + 0x0000F870