Oracle® Solaris Studio 12.4: 概要

印刷ビューの終了

更新: 2014 年 12 月
 
 

IDE のプロファイリングツール

Oracle Solaris Studio IDE は、IDE 内で実行されているプロジェクトのパフォーマンスを検査できる対話型のグラフィカルプロファイリングツールを提供しています。プロファイリングツールは、Oracle Solaris Studio のユーティリティーおよびオペレーティングシステムのユーティリティーを使用してデータを収集します。

プロファイリングツールは、「プロジェクトをプロファイル」ボタン image:「プロジェクトをプロファイル」ボタン から使用できます。

プロジェクトのモニター

プログラムのリソース使用状況のサマリーを確認できるグラフが表示されます。

メモリーアクセスエラー

実行されているプログラムを分析して、メモリーアクセスエラーおよびメモリーリークを検出します。

データ競合とデッドロックの検出

実行されているプログラムを分析して、実際に発生したデータの競合や潜在的なデータの競合、およびスレッド間のデッドロックを検出します。

プロジェクトをプロファイルして「プロジェクトをモニター」を選択すると、「実行モニター」ウィンドウが開いて、CPU 使用率、メモリー使用状況、およびスレッド使用量に関する低インパクトツールの出力が表示されます。

次の図は、「実行モニター」ツールが表示されている IDE を示しています。

image:「実行モニター」ツールが表示されている IDE のスクリーンショット

より詳細なプロファイリングのための追加ツールは、システムおよびアプリケーションへのパフォーマンス上の影響が大きいため、プロジェクトのモニターを実行したときにそれらのツールは自動的には実行されません。高度なツールは実行モニタープロファイリングツールにリンクされていて、ホットスポット、メモリーリーク、および同期の問題を表示するためのボタンをクリックすることによって簡単に起動できます。

「データの競合とデッドロックの検出」ツールで使用されているベースとなるテクノロジは、このドキュメントで説明するスレッドアナライザと同じです。このツールは、スレッド化されたプログラムに計測機構を組み込んだあと、そのプログラムを実行中に解析して、スレッド間での実際のデータ競合およびデッドロックと潜在的なデータ競合およびデッドロックを検出します。このツールを起動するには、「プロジェクトをプロファイル」ボタンクリックし、「データの競合やデッドロック」を選択し、データ収集のオプションを指定して、「開始」をクリックします。

次の図は、データの競合を検出したあとの「データの競合とデッドロックの検出」ツールを示しています。

image:「データの競合とデッドロックの検出」が実行されている IDE のスクリーンショット

「データの競合の検出」ウィンドウの「詳細」リンクをクリックすると、「スレッドの詳細」ウィンドウが開き、データの競合の発生箇所が表示されます。「スレッドの詳細」ウィンドウでスレッドをダブルクリックして、問題が発生するソースファイルを開き、影響を受けるコード行に移動できます。

「メモリーアクセスエラー」ツールで使用されるベースとなるテクノロジは、前述の discover と同じです。このツールは、プログラムに計測機構を組み込んでから、プログラムを実行中に解析して、メモリーアクセスエラーおよびメモリーリークを検出します。このツールを起動するには、「プロジェクトをプロファイル」ボタンクリックし、「メモリーアクセスエラー」を選択し、データ収集のオプションを指定して、「開始」をクリックします。各種のメモリーアクセスエラーが「メモリー解析」ウィンドウに表示されます。エラーの種類をクリックすると、その種類のエラーが「メモリー解析ツール」ウィンドウに表示され、各エラーの呼び出しスタックを見ることができます。

次の図は、メモリーアクセスエラーを検出したあとの「メモリーアクセスエラー」ツールを示しています。

image:「メモリーアクセスエラー」が実行されている IDE のスクリーンショット

プロファイリングツールの使用方法については、F1 キーを押すか、IDE の「ヘルプ」メニューを使用してアクセスできる IDE の統合ヘルプを参照してください。ヘルプの「目次」タブで「C/C++/Fortran アプリケーションのプロファイル」、「データの競合とデッドロックの検出」、および「プロジェクト内のメモリーアクセスエラーの検出」を選択してください。