Everything
2.4 関数間の呼び出し関係(コール・グラフ)を表示する

取得した関数情報を基に,プログラム中に存在する関数間の呼び出し関係をツリー構造の図(コール・グラフ)で表示します。

メイン・ウインドウのツールバーの ボタンをクリックすることにより,現在表示可能な(「1.1.2解析情報の種別」参照)最新のコール・グラフがコール・グラフ パネルに表示されます。

ただし,解析対象外に指定されているファイル内の関数情報/変数情報は表示されません(「1.1.1解析対象」参照)。

なお,表示されるコール・グラフについての詳細は,コール・グラフ パネルを参照してください。

図 2.3

関数間の呼び出し関係の表示(コール・グラフ パネル:全体表示)

注意 1.

デバッグ・ツールがトレース機能をサポートしていない場合,またはデバッグ・ツールのトレース機能を有効化していない場合,コール・グラフにおいて,動的解析情報(実行回数/リード回数/ライト回数)を表示することはできません。
また,動的解析情報については,「(a)トレース機能」の注意を参照してください。

注意 2.

【CC-RX】
C++ソース・ファイルを対象とする場合は,「3.6CC-RX(C++ソース・ファイル)を使用する場合について」を参照してください。

 

表示されるコール・グラフに対して,次の操作を行うことができます。

(1)

親関数を変更して表示する

デフォルトでは,“main”【RH850】【RL78】/“reset”【RX】,またはそれを含む関数名のうち最初に出現した関数を親関数とみなし,その関数がコール・グラフ内の最左端に,ボックス形式(関数ボックス)で配置されます。表示するコール・グラフの親関数を変更する場合は,[親関数名]コンボ・ボックスのドロップダウン・リストにより指定します。

備考

【RH850】
選択しているマイクロコントローラがマルチコア対応版の場合では,[親関数名]コンボ・ボックスにおいて“PMn”を指定することができます。この場合は,該当PMn/PEnで実行される関数のみを対象としたコール・グラフが表示されます。

(2)

指定した関数の親関数/子関数を表示する

パネル・コントロール・エリアの ボタンをクリックすることにより,現在,[対象関数名]コンボ・ボックスで指定している関数に対する親関数と子関数を表示する詳細表示にコール・グラフが切り替わります。

また,詳細表示では,対象関数からアクセスしているグローバル変数/ファイル内スタティック変数/関数内スタティック変数が存在する場合,その変数についても変数ボックスとして表示されます。

なお,コール・グラフを全体表示(デフォルト)に戻す場合は,再び ボタンをクリックします。

図 2.4

親関数/子関数の表示(コール・グラフ パネル:詳細表示)

(3)

定義箇所へジャンプする

任意の関数ボックス/変数ボックスをダブルクリックすることにより,対象関数/変数が定義されているソース・テキスト箇所へジャンプすることができます(「2.7定義箇所へジャンプする」参照)。

(4)

関数/変数の情報をポップアップ表示する

コール・グラフ内の関数ボックス/変数ボックスにマウス・カーソルを重ねることにより,対象関数/変数の情報がポップアップ表示されます。

注意

パネル・コントロール・エリアの ボタンの設定により,マウスのドラッグによるスクロールを許可している場合,この機能を使用することはできません。

図 2.5

関数情報/変数情報のポップアップ表示例

(5)

関数/変数を検索する

コール・グラフ内に存在する関数/変数を検索することができます。

操作は,コール・グラフ パネルのツールバーの ボタンをクリックすることでオープンする,コール・グラフ検索 ダイアログで行います。

このダイアログにおいて,次の手順で操作を行ってください。

図 2.6

関数の検索(コール・グラフ検索 ダイアログ)

(a)

[関数/変数名]の指定

検索対象となる関数名/変数名を指定します。

キーボードより文字列を直接入力するか(最大指定文字数:2046文字),ドロップダウン・リストより入力履歴項目を選択します(最大履歴数:10個)。

次に,指定した文字列に対して条件を指定する場合は,直下の[条件]コンボ・ボックスにおいて任意の条件を選択します(デフォルトでは,[を含む]が指定されます)。

なお,[大文字と小文字を区別する]チェック・ボックスを選択した場合は,大文字と小文字を区別して検索します。

備考

関数名/変数名は,次の操作によっても指定することができます。

-

関数一覧 パネル変数一覧 パネルの任意の行をこのエリアにドラッグ・アンド・ドロップ

-

任意の文字列をこのエリアにドラッグ・アンド・ドロップ

(b)

[クラス名]の指定【CC-RX】

関数/変数の検索条件の1つとして必要な場合,検索対象のメンバ関数/メンバ変数が属しているクラス名を指定します。

キーボードより文字列を直接入力するか(最大指定文字数:2046文字),ドロップダウン・リストより入力履歴項目を選択します(最大履歴数:10個)。

次に,指定した文字列に対して条件を指定する場合は,直下の[条件]コンボ・ボックスにおいて任意の条件を選択します(デフォルトでは,[を含む]が指定されます)。

なお,[大文字と小文字を区別する]チェック・ボックスを選択した場合は,大文字と小文字を区別して検索します。

備考

クラス名は,次の操作によっても指定することができます。

-

任意の文字列をこのエリアにドラッグ・アンド・ドロップ

(c)

[親関数の個数]の指定

関数の検索条件の1つとして必要な場合,検索対象の関数の親関数の個数を指定することができます。

キーボードより数値を直接入力するか(指定可能範囲:0~65535),ドロップダウン・リストより入力履歴項目を選択します(最大履歴数:10個)。

次に,指定した数値に対して条件を指定する場合は,直下の[条件]コンボ・ボックスにおいて任意の条件を選択します(デフォルトでは,[と等しい]が指定されます)。

(d)

[子関数の個数]の指定

関数の検索条件の1つとして必要な場合,検索対象の関数の子関数の個数を指定することができます。

キーボードより数値を直接入力するか(指定可能範囲:0~65535),ドロップダウン・リストより入力履歴項目を選択します(最大履歴数:10個)。

次に,指定した数値に対して条件を指定する場合は,直下の[条件]コンボ・ボックスにおいて任意の条件を選択します(デフォルトでは,[と等しい]が指定されます)。

(e)

[前を検索]/[次を検索]ボタンのクリック

[前を検索]ボタンをクリックすると,指定した条件でコール・グラフ内の最下段から上段方向へ関数名/変数名の検索を行い,該当関数ボックス/変数ボックスを強調表示します。

[次を検索]ボタンをクリックすると,指定した条件でコール・グラフ内の最上段から下段方向へ関数名/変数名の検索を行い,該当関数ボックス/変数ボックスを強調表示します。

なお,コール・グラフ パネル上で関数ボックス/変数ボックスを選択している場合は,対象関数/変数から上段方向/下段方向へ検索を開始します。

図 2.7

関数の検索箇所

備考 1.

プログラムの実行が停止するごとに表示内容が更新されます(デフォルト)。
ただし,プロパティ パネル[設定]タブ上の[全般]カテゴリ内[プログラム停止時に更新を行う]プロパティの指定を[はい](デフォルト)以外に変更した場合,プロパティ パネルでの設定に従った表示内容の更新を行います。

備考 2.

プロパティ パネル[設定]タブ上の[全般]カテゴリ内[定義箇所がない関数/変数をコール・グラフの表示対象とする]プロパティの指定を[はい]に変更した場合,ソース・ファイルが存在しない関数/変数をコール・グラフに含めることができます。