Sun WorkShop の概要 | ![]() ![]() ![]() ![]() ![]() |
第 5 章
ソースコードのブラウズ
Sun WorkShop では、C、C++、Fortran 77、Fortran 95 ソースコードをブラウズするためのモードとして、パターン検索とソースブラウズの 2 つのモードが用意されています。パターン検索モードでは、ソースコードから、コメント内のテキストなどの任意の文字列を検索できます。ソースブラウズモードでは、プロジェクトを作成または編集するときにソースブラウズ情報を作成するように指定することによって作成されたソースブラウズ用データベースを使用して、ソースコードから任意のプログラム定義シンボルに一致するものをすべて検索できます。問い合わせに一致するものは、その前後のソースコードとともに、「ブラウズ」ウィンドウの一致区画に表示されます。
プログラム内の関数やサブルーチンの関係をグラフ表示することもできます。ソースコードが C++ で書かれている場合は、プログラムに定義されているクラスをブラウズして、グラフ表示できます。
具体的な手順とブラウズについての詳細は、オンラインヘルプを参照してください (オンラインヘルプには、Sun WorkShop のどのウィンドウからでも「ヘルプ」メニューまたは「ヘルプ」ボタンでアクセスできます)。
パターン検索モード
パターン検索機能は、現在のディレクトリまたは
sb_init
ファイルに指定されているインポートディレクトリから、コメント内のテキストなどの任意の文字列を検索します (sb_init
ファイルと複数ディレクトリの検索については、オンラインヘルプを参照)。
- 単純に文字列を素早く検索する場合。
- 検索するディレクトリ内にソースブラウズ用データベースがある場合。
- 関数の呼び出し関係やクラスの階層構造をグラフ表示しない場合。
- クラスのデータやメンバー関数を調べない場合。
パターン検索機能は、
grep
構文を利用し、「ブラウズ」ウィンドウの「パターン」フィールドに入力された文字列に一致するものを探します (図 5-1 を参照)。詳細は、オンラインヘルプを参照してください。![]()
図 5-1 パターン検索モードでの「ブラウズ」ウィンドウパターン検索で使用できる特殊文字
「パターン」フィールドでは、ソースコードに入力されているとおりに文字列を入力することも、特殊文字 (ワイルドカード) 文字を使用してパターンを指定することもできます。表 5-1 に、「ブラウズ」ウィンドウの「パターン」フィールドで使用できる特殊文字をまとめます。
サーカムフレックスとドル記号で問い合わせ内容を囲むと、その問い合わせ内容に行全体が一致するものが検索されます。
複数ディレクトリの検索
パターン検索では、
sb_init
テキストファイルを使用し、複数のディレクトリに分散しているソースファイルに対して検索を行うことができます。具体的な手順については、オンラインヘルプを参照してください。ソースブラウズモードの使用方法
ソースブラウズモードでは、問い合わせが発行されると、ブラウズ中のソースファイルに関する情報が格納されているデータベースを使用して検索が行われます。ソースブラウズモードは、次のような場合に利用します。
- ソースブラウズ用データベースがある場合。
- 関数、クラス、構造体、共用体、レコード、あるいはそれらの使用方法や定義、または割り当て箇所などの言語要素を検索する場合。
- 関数の呼び出し関係やクラスの階層構造をグラフ表示する場合。
- クラスのデータ関数やメンバー関数を検査する場合。
図 5-2 は、ソースブラウズモードでの「ブラウズ」ウィンドウを示しています。
![]()
図 5-2 ソースブラウズモードのときの「ブラウズ」ウィンドウソースブラウズ用データベース
Sun WorkShop は、プログラムの静的構造に関する情報が含まれているデータベースからブラウズ情報を取得します。ブラウザがどのように機能するかは、アクセスするデータベースによって異なります。Sun WorkShop には、次のデータベースオプションがあります。
- データベースなし : データベースがない場合は、ソースブラウズモードではなく、パターン検索モードを使用する必要があります。詳細は、オンラインヘルプを参照してください。
- コンパイラ生成ブラウザデータベース : このデータベースは、全ブラウザ機能を利用することを可能にします。ソースブラウズモードでは、このデータベースを検索して、問い合わせに応答します。
- Sun WorkShop では、プロジェクトを作成または編集するときにデータベースを生成するかどうかを選択できます。ソースコードをコンパイルするときにデータベースを生成することも、メークファイルに適切なソースブラウザオプションを付け、ソースファイルを構築することによってデータベースを生成することもできます。具体的な手順については、オンラインヘルプを参照してください。
- タグ生成データベース : このデータベースは、コンパイルをしないでソースファイルをブラウズすることを可能にします。関数や大域変数に対する問い合わせを行なって、関数呼び出しの情報を表示できます (ただし、グラフ表示機能は利用できません)。タグ生成データベースでは、変数や型、関数の大域定義だけが検出され、関数呼び出しに関する情報が収集されます。C++ のメンバーに対する関数呼び出しは、そのメンバーが明示的に呼び出されている場合にのみ検出されます。
ソースブラウズで使用できる特殊文字
「一致」フィールドでは、ソースコードに入力されているとおりに名前や関数を入力することも、特殊文字 (ワイルドカード) 文字を使用して文字列を指定することもできます。
表 5-2 に、「ブラウズ」ウィンドウの「一致」フィールドで使用できる特殊文字をまとめます。
複数ディレクトリのブラウズ
ユーザーメークファイルプロジェクトを除く全プロジェクトの場合 : プロジェクトを作成または編集するとき、コンパイル中にソースブラウズ用の情報を作成するように指定すると、すべてのブラウズディレクトリがマージされます。このようにして、パターン検索またはソースブラウズモードで検索すると、プロジェクト内のすべてのソースディレクトリが自動的に検索されます。詳細は、オンラインヘルプを参照してください。
ユーザーメークファイルプロジェクトの場合 : ソースファイルが複数のディレクトリに分散している場合は、通常は、それぞれのディレクトリでコンパイラを実行することになります。デフォルトでは、コンパイラはそれらのディレクトリごとにソースブラウズ用データベースを作成します。Sun WorkShop は一度に 1 つのデータベースしかブラウズしないため、検索されるのは、現在のディレクトリに存在するアプリケーション部分だけです。このデフォルトの動作は、データベースをインポートすることによって変更できます。データベースをインポートする具体的な手順については、オンラインヘルプを参照してください。
ブラウズとグラフ表示の関係
図 5-3 は、「ブラウズ」ウィンドウと「コールグラフ」ウィンドウ、「クラスグラフ」ウィンドウ、「クラスブラウザ」ウィンドウの相互関係を示しています。
![]()
図 5-3 ブラウズ、クラスグラフ、クラスブラウザの相互関係関数のグラフ表示
「コールグラフ」ウィンドウでは、ANSI C、C++、Fortran で書かれたプログラム内の関数の関係をグラフ表示できます。1 つ以上の関数を選択して、その呼び出し元と呼び出し先の関数を表示できます。「コールグラフ」ウィンドウは、関数とサブルーチンの呼び出し関係をグラフィカルに表示する手段です。具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。
関数の関係を表示するには、ソースブラウズ用データベースが必要です (「ソースブラウズ用データベース」を参照)。
注 - Sun WorkShop では、仮想関数の関係もグラフ表示できますが、実際に呼び出される関数を特定することはできません。たとえば、main
がb::d()
という仮想関数を呼び出し、この仮想関数が実際にはb1::d()
またはb2::d()
のいずれも呼び出せる場合、Sun WorkShop が呼び出される関数を特定することはできません。グラフのウィンドウには、main
がb::d()
を呼び出す関係は示されますが、main
とb1::d()
やmain
とb2::d()
の関係は示されません。
「コールグラフ」ウィンドウ内のノードの背景、コールグラフ区画の背景、ノードのボックスの枠、ノードのボックス内のテキスト、ノード間の矢印に使用する色を変更するには、
WORKSHOP
リソースファイルを編集します (「「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの色」を参照)。色の設定を変更すると、「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの両方にその設定が適用されます。図 5-4は、「コールグラフ」ウィンドウを示しています。
図 5-4 「コールグラフ」ウィンドウ![]()
クラスのグラフ表示
「クラスグラフ」ウィンドウを使用して、C++ プログラムのクラスの継承構造をグラフ表示 できます。具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。
「クラスグラフ」ウィンドウ内のノードの背景、クラスグラフ区画の背景、ノードのボックスの枠、ノードのボックスのテキスト、ノード間の矢印に使用する色を変更する場合は、
WORKSHOP
リソースファイルを編集します。色の設定を変更すると、「クラスグラフ」ウィンドウと「コールグラフ」ウィンドウの両方にその設定が適用されます。色の変更については、「「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの色」を参照してください。図 5-5 は、「クラスグラフ」ウィンドウを示しています。
図 5-5 「クラスグラフ」ウィンドウ![]()
クラスのブラウズ
- クラスのブラウズ : クラスのリストとデータ関数のメンバーを表示します。クラスのインタフェースと相互関係を確認できます。
- クラスの関係の確認 : クラスを選択して、その基底クラス、派生クラス、フレンドクラスを確認したり、現在のクラスで参照されているクラス、構造体、共用体をブラウズしたりできます。
- クラスのグラフ表示 : 「クラスブラウザ」ウィンドウで選択されているクラスのクラス階層をグラフィカルに表示できます。
- クラスのソース表示 : エディタウィンドウに特定のクラスのソースを表示できます。
「クラスブラウザ」ウィンドウでは、クラスやそのメンバー関数、フレンド関数に関する情報を表示できます。ソースコードとライブラリ内のクラスをナビゲートすることによって、クラスがどのように定義、使用されているかを確認できます。
「クラスブラウザ」ウィンドウ (図 5-6) を開くと、現在のソースブラウズ用データベースに格納されている
Class
型またはStruct
型のクラスすべてを一覧表示できます。「項目」リストの右横にある 2 つのチェックボックスを使用し、表示内容 (クラスの型すべて、クラスと構造体のみ、共用体のみ) を切り替えられます。具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。
図 5-6 「クラスブラウザ」ウィンドウブラウズの終了
ブラウズの処理を終了して、ブラウズ用のすべてのウィンドウを閉じるには、「ブラウズ」ウィンドウから「ブラウズ」
「ブラウズ終了」を選択します。処理を強制終了せずに「ブラウズ」ウィンドウだけを閉じる場合は、「ブラウズ」
「閉じる」を選択します。
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |