関数間の呼び出し関係をツリー構造の図(コール・グラフ)で表示します。
このパネルで表示対象となる関数/変数の種類は次のとおりです。
ただし,解析対象外に指定されているファイル内の関数情報/変数情報は表示されません(「1.1.1解析対象」参照)。
なお,コール・グラフを表示するための操作手順は,「2.4関数間の呼び出し関係(コール・グラフ)を表示する」を参照してください。
デバッグ・ツールがトレース機能をサポートしていない場合,またはデバッグ・ツールのトレース機能を有効化していない場合,コール・グラフにおいて,動的解析情報(実行回数/リード回数/ライト回数)を表示することはできません。 |
【CC-RX】 |
プロパティ パネルの[設定]タブ上の[全般]カテゴリ内[定義箇所がない関数/変数をコール・グラフの表示対象とする]プロパティの指定を[はい]に変更した場合,ソース・ファイルが存在しない関数/変数をコール・グラフに含めることができます。 |
パネル・コントロール・エリアの ,または[Ctrl]キーを押下しながらマウス・ホイールを前後方に動かすことにより,本パネルの表示を拡大/縮小(10~109 %)することができます。 |
メイン・ウインドウのツールバーの ボタンのクリック |
パネルを直接ドラッグすることにより,表示内容のスクロールを許可するか否かを設定します(トグル)。デフォルトではスクロールを許可しません。 なお,スクロールを許可した場合,マウス・カーソルの形状が変化し,コール・グラフ内の関数ボックス/変数ボックスをクリックしても,その関数/変数を強調表示(選択状態)することはできません([対象関数名]コンボ・ボックスにも反映されません)。また,関数/変数の情報をポップアップ表示することもできません。 |
|||||
コール・グラフの表示対象とする(コール・グラフの先頭となる)親関数をドロップダウン・リストにより選択します注1。 デフォルトでは,“main”/“reset”注2,またはそれを含む関数名のうち最初に出現した関数が指定されます(該当しない場合は“空欄”)。 |
|||||
コール・グラフ上で強調表示(選択状態)する関数を次のドロップダウン・リストより選択します。
全体表示 :対象親関数から呼び出されている関数名(子関数/孫関数~を含む) なお,コール・グラフ内の任意の関数ボックスをクリックすることでも該当関数が強調表示(選択状態)され,該当関数名がこのコンボ・ボックスに反映されます( ボタンによりマウスのドラッグによるスクロールを許可している場合を除く)。 |
|||||
現在選択している関数([対象関数名]コンボ・ボックスで指定している関数)に対する親関数と子関数を表示する詳細表示にコール・グラフを切り替えます(トグル)。 |
【RH850】 |
クロスリファレンス情報から取得した関数間の呼び出し関係を示すコール・グラフを表示します。
なお,コール・グラフは, ボタンのクリック(トグル)により,次の2つの表示モードに切り替わります。
デフォルトでは,“main”/“reset”注1またはそれを含む関数名のうち最初に出現した関数を親関数とみなし,その関数をコール・グラフ内の最左端に配置します([親関数名]コンボ・ボックスに該当親関数名を表示します)。相当する関数名が存在しない場合は,プログラム中どの関数からも呼び出されていない関数(参照回数=0)を親関数とみなし,それらの関数すべてを最左端に配置します([親関数名]コンボ・ボックスは空欄となります)。
続いて,子関数→孫関数→ …,それぞれに相当する関数を左から右方向へ配置することでコール・グラフを表示します(上下の位置関係は,上から下方向へ関数の出現順を意味します)。
なお,[親関数名]コンボ・ボックスで任意の親関数を指定注2した場合では,その関数から呼び出されている関数のみを対象としたコール・グラフを表示します。また,同コンボ・ボックスが空欄の場合は,プログラム中に存在するすべての関数を対象としてコール・グラフを表示します。
【RH850】 |
現在,[対象関数名]コンボ・ボックスで指定している関数の親関数と子関数についてのコール・ペアを表示します。
対象関数を中心に,左側に親関数を,右側に子関数を配置することでコール・グラフを表示します(上下の位置関係は,上から下方向へ関数の出現順を意味します)。
また,対象関数からアクセスしているグローバル変数/ファイル内スタティック変数/関数内スタティック変数が存在する場合,その変数を対象関数の直下に配置します(変数が複数存在する場合,上下の位置関係は,上から下方向へ変数の出現順を意味します)。
[親関数名]コンボ・ボックスの指定が変更された場合(ビルド・ツールにおけるビルド/リビルドの実行による結果を含む) |
【CC-RX】 |
関数ボックスをダブルクリックすることにより,該当関数が定義されているソース・テキスト箇所へジャンプすることができます(「2.7定義箇所へジャンプする」参照)。 |
詳細表示の際に,対象関数からアクセスしているグローバル変数/ファイル内スタティック変数/関数内スタティック変数をボックス形式で表示します。
対象変数を動的に参照(R:リード, W:ライト)している回数を示します。 なお,プロパティ パネルの[設定]タブ上の[全般]カテゴリ内[解析結果を累積する]プロパティにおいて[はい]を選択している場合,プログラム実行ごとの累積による数値を表示します。 |
|
変数ボックスをダブルクリックすることにより,該当変数が定義されているソース・テキスト箇所へジャンプすることができます(「2.7定義箇所へジャンプする」参照)。 |
ある関数から別の関数を静的に呼び出している場合,双方の関数ボックス間に接続線を表示します。
なお,接続線の表示は,静的な関数呼び出しのみを対象とします。動的な関数呼び出しに対応する接続線は表示しません。
なお,プロパティ パネルの[設定]タブ上の[全般]カテゴリ内[解析結果を累積する]プロパティにおいて[はい]を選択している場合,プログラム実行ごとの累積による数値を表示します。 |
|
たとえば,3つの関数としてA,B,Cがあり,A→B→C→Aと呼び出している場合では,“A→B”と“B→C”についての接続線は表示しますが,“C→A”についての接続線は表示せず,循環していることを示す次の線分のみを表示します。 なお,循環呼び出しとなった関数についての情報は,ポップアップ表示で確認することができます。 |
静的な関数呼び出しがなく動的な関数呼び出しがあった場合では(たとえば,関数ポインタを用いてしか関数呼び出しを行っていない場合など),その情報をポップアップ表示で確認することができます。 |
関数ボックス/変数ボックスにマウス・カーソルを重ねることにより,対象関数/変数の情報をポップアップ表示します。
グローバル関数/スタティック関数の場合 |
メンバ関数の場合 |
関数内スタティック変数の場合 |
プログラムの実行が停止するごとに最新情報を取得し,表示内容を更新します。 ただし,プロパティ パネルの[設定]タブ上の[全般]カテゴリ内[プログラム停止時に更新を行う]プロパティにおいて[個別に指定する]以外を指定している場合は無効となります(プロパティ パネルでの設定を反映した状態で固定されます)。 |
||
コール・グラフ検索 ダイアログをオープンし,現在このパネルに存在する関数/変数を検索します。 |
コール・グラフ パネル専用の[ファイル]メニューの各項目,および機能は次のとおりです。
このパネルの内容を前回保存したファイルに保存します(「2.14解析情報をファイルに保存する」参照)。 なお,起動後に初めてこの項目を選択した場合は,[名前を付けて コール・グラフ・データ を保存...]の選択と同等の動作となります。 |
|
このパネルの内容を指定したファイルに保存するために,名前を付けて保存 ダイアログをオープンします(「2.14解析情報をファイルに保存する」参照)。 |
コール・グラフ パネル専用の[編集]メニューの各項目,および機能は次のとおりです。
コール・グラフ検索 ダイアログをオープンし,現在このパネルに存在する関数/変数を検索します。 |
このパネル上において,マウスを右クリックすることにより表示されるコンテキスト・メニューの各項目,および機能は次のとおりです。
選択している関数/変数が定義されているソース・ファイルをエディタ パネル上にオープンします(「2.7定義箇所へジャンプする」参照)。 |
||
選択している関数/変数の開始アドレスに対応する逆アセンブル・データを逆アセンブル パネル(逆アセンブル1)上にオープンします(「2.7定義箇所へジャンプする」参照)。 |
||
選択している関数/変数関数の開始アドレスに対応するメモリ・リストをメモリ パネル(メモリ1)上にオープンします(「2.7定義箇所へジャンプする」参照)。 |
||
選択している関数([対象関数名]コンボ・ボックスで指定している関数)に対する親関数と子関数を表示する詳細表示にコール・グラフを切り替えます。 |