解析機能
ファイル、クラス、関数、変数、パッケージなどに関連する情報を詳細に表示
Understandは、エンティティ(ソースコードやファイルで宣言または使用されているファイル、クラス、関数、変数、パッケージなどの要素)に関連する情報を、情報ブラウザーに表示します。
Understandは、エンティティ(ソースコードやファイルで宣言または使用されているファイル、クラス、関数、変数、パッケージなどの要素)に関連する情報を、情報ブラウザーに表示します。
情報ブラウザー
エンティティフィルターのリストやグラフィカルビューのダイアグラムなどで、エンティティをクリックすると、変数、呼び出し、呼び出し元、グローバル変数といったエンティティに関連する情報が情報ブラウザーに表示されます。
情報ブラウザー内のファイル名や関数名をクリックすれば、ソースコードを表示したり、Calls / Called By (関数の呼び出し / 被呼び出しグラフ)やButterfly (バタフライグラフ)といったダイアグラムで表示することも可能です。
情報ブラウザー内のファイル名や関数名をクリックすれば、ソースコードを表示したり、Calls / Called By (関数の呼び出し / 被呼び出しグラフ)やButterfly (バタフライグラフ)といったダイアグラムで表示することも可能です。
- エンティティの詳細情報を表示
たとえば、C/C++の関数の場合、定義場所、フルパス名、関数パラメーター、変数、呼び出し/呼び出し元、使用しているグローバル変数/マクロなどの情報を一覧表示します。
- 階層化されたリファレンス情報はツリー表示
呼び出し/呼び出し元しなどの階層構造を持つリファレンス情報は、階層がツリー表示されます。ツリーを展開することで、さらにその先の呼び出し関係などを簡単に確認できます。
- 関連エンティティをグラフィカルビューで表示
情報ブラウザーに表示されているエンティティ名で右クリックすると、Calls / Called By (関数の呼び出し / 被呼び出しグラフ)やButterfly (バタフライグラフ)といったグラフィカルビューでそのエンティティの情報を確認できます。
- 関連エンティティやソースコードへワンクリックでジャンプ
情報ブラウザーに表示されているエンティティ名やリファレンス情報は、ワンクリックで関連エンティティやソースコードにジャンプできます。
- 戻る・進むボタンでブラウジング
Webブラウザーのように、戻る/進むボタンで、表示内容の履歴を簡単に追うことができます。
- 情報ブラウザー内検索
情報ブラウザー内で文字列の検索が可能です。折りたたまれて表示されていない情報も含めて検索されます。
関数ポインターの解析
C/C++(Strict)モードで、関数ポインターによる関数の呼び出しやポインター変数のアドレス操作など、ポインター経由の依存関係の解析がサポートされました。これらの依存関係は、Callsグラフなどのグラフィカルビューでも表示できます。
【解析対象のポインター経由の操作(抜粋)】
- 関数ポインターによる関数の呼び出し
- 関数テーブル(ジャンプテーブル)
- ポインター変数のアドレス操作
- コールバック関数
- ダブルポインタ





クラス・構造体のメンバーオブジェクトの解析
C/C++(Strict)モード解析機能では、クラスや構造体のメンバーオブジェクトの解析が可能です。 メンバーオブジェクトの参照情報からメンバーオブジェクトが属している変数を特定し、インスタンスごとに、構造体変数とメンバー変数を関連付けたリファレンス情報が取得できます。 C++オプション [メンバ変数にユニークなエンティティを割り当てる]をオンに指定されている場合に、"構造体変数.構造体のメンバー変数"として連結した情報で解析が可能です。 下図の例では、ソースコード4行目の参照されている構造体のメンバー変数が属している変数f1.b1を辿れることがわかります。
解析対象言語
- Ada
- Objective-C/C++
- FORTRAN
- Python
- Assembly
- C#
- Java
- VHDL
- C/C++
- VB.NET
- Pascal
- Web (PHP, HTML, CSS, JavaScript, TypeScript)
※ 対象言語によって、利用できる機能が異なります。体験版でお試しください。
※ C/C++、Objective-C/C++、C#、VB.NET、Java、Python、Webが弊社テクニカルサポートの対象です。
※ C/C++、Objective-C/C++、C#、VB.NET、Java、Python、Webが弊社テクニカルサポートの対象です。
イベント・セミナー
ソースコード解析ツール Understandに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp