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

印刷ビューの終了

更新: 2015 年 1 月
 
 

ソースコードを分析するためのコンパイル

注釈付きの「ソース」および「逆アセンブリ」ビューにソースコードを表示し、「行」ビューにソース行を表示するには、-g コンパイラオプション (C++ でフロントエンドインライン化を有効にするには -g0) で対象のソースファイルをコンパイルし、デバッグシンボル情報を作成します。 デバッグシンボル情報の形式は、-xdebugformat=(dwarf|stabs) によって、DWARF2 または stabs に指定することができます。デフォルトのデバッグ形式は dwarf です。

DWARF 形式のデバッグ用シンボルで構築された実行可能ファイルやライブラリには、構成要素である各オブジェクトファイルのデバッグシンボルのコピーが自動的に取り込まれます。stabs 形式のデバッグ用シンボルを使用して構築された実行可能ファイルとライブラリの場合、デバッグシンボルのリンク時に –xs オプションが指定され、各種のオブジェクトファイルおよび実行可能ファイル内に stabs シンボルが残されていれば、構成要素である各オブジェクトファイルのデバッグシンボルのコピーが取り込まれます。この情報の取り込みは、オブジェクトファイルを移動したり、削除したりする必要がある場合に特に有用です。すべてのデバッグ用シンボルが実行可能ファイルとライブラリ自体にあるので、実験とプログラム関連ファイルを別の場所に容易に移動できます。

プログラムは Oracle Solaris Studio コンパイラまたは GNU コンパイラを使用してコンパイルできます。ただし、GNU コンパイラは OpenMP による再構築された呼び出しスタックなどの一部の機能をサポートできません。

-g を指定してコンパイルしても、Studio コンパイラの O2O3 の最適化レベルでの末尾呼び出し最適化を除き、最適化に変更はありません。

Java コードのソースレベル情報がサポートされています。Java ソースの場所は、ネイティブ言語の場合とは異なり、実験に記録されません。ソースを指示するために、パスマッピングを使用するか、検索パスを設定することが必要な場合もあります。詳細は、ツールがソースコードを見つけるしくみを参照してください。

データ領域およびメモリー領域プロファイリング用のコンパイル

データ領域プロファイリングは、メモリーアクセスをデータ構造要素によるものとします。データ領域プロファイリングを有効にするには、Oracle Solaris Studio コンパイラで -xhwcprof オプションを使用して、C、C++、および Fortran 実行可能ファイルをコンパイルする必要があります。コンパイルでこのオプションを指定しない場合、「データオブジェクト」ビューと「データレイアウト」ビューには、バイナリのデータは表示されません。

メモリー領域プロファイリングを使用すると、どのメモリーアドレスでパフォーマンスがもっとも低下しているかを確認できます。メモリー領域プロファイリング用のプログラム準備に特別なコンパイラオプションは必要ありませんが、この機能は、Oracle Solaris 10 1/13 を実行している SPARC プラットフォームと、Oracle Solaris 11.2 を実行している Intel プラットフォームでのみ使用できます。詳細は、データ領域プロファイリングとメモリー領域プロファイリングを参照してください。