関数一覧 パネル


取得した関数情報を表示します。

このパネルで表示対象となる関数の種類は次のとおりです。

-

グローバル関数

-

スタティック関数

-

メンバ関数(C++ソース・ファイルを対象とする場合)

 

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

なお,関数情報を表示するための操作手順は,「2.1 概  要」を参照してください。

注意 1.

【E20【RX】】
デバッグ・ツールのプロパティ パネルにおける,[デバッグ・ツール設定]タブ上の[トレース]カテゴリ内[トレース・データの種別]プロパティで[分岐]を選択している場合,分岐命令間の命令を補完するため,トレース・データによる動的解析情報の取得に時間がかかります(処理時間は,同カテゴリ内の[トレース・メモリ・サイズ[Mバイト]]プロパティの設定値に比例します)。

注意 2.

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

注意 3.

【CC-RX】
最適化により削除された未使用スタティック関数は一覧に表示されません。

備考 1.

関数情報は,フィルタを設定して表示することができます(「2.6.5 解析情報をフィルタ表示する」参照)。

備考 2.

ツールバーの ,または[Ctrl]キーを押下しながらマウス・ホイールを前後方に動かすことにより,本パネルの表示を拡大/縮小することができます。

備考 3.

【RH850】
このパネル上の動的解析情報と現在デバッグ・マネージャ パネルで選択しているPEnとの関係については,「(a) トレース機能」/「(c) カバレッジ機能【IECUBE】【E20【RX】】【シミュレータ】」を参照してください。

図 A.6

関数一覧 パネル

 

ここでは,次の項目について説明します。

[オープン方法]

-

メイン・ウインドウのツールバーの ボタンのクリック

-

[表示]メニュー→[プログラム解析]→[関数一覧]の選択

[各エリアの説明]

(1)

ヘッダ・エリア

(a)

項目名

取得した関数情報の項目名を表示します。

なお,各項目名に表示されるマーク(アイコン)の意味は次のとおりです。

マーク(アイコン)

意味

ソート表示設定の有無を示します(「2.6.4 解析情報をソート表示する」参照)。

フィルタ表示設定の有無を示します(「2.6.5 解析情報をフィルタ表示する」参照)。

固定表示設定の有無を示します(「2.6.3 特定項目を固定表示に設定する」参照)。

 

該当項目の情報に関するメッセージを出力 パネルに出力していることを示します。マウス・カーソルを重ねることにより,出力した最新のメッセージをポップアップ表示します。

備考

各項目は,このエリアをマウスで操作することによりカスタマイズすることができます。
- 表示項目を設定する
- 表示項目を並び替える
- 特定項目を固定表示に設定する


(b)

ボタン

 

このパネルに表示する項目(列)の並び替え,表示/非表示の設定,およびそれらのカスタマイズをデフォルトに戻す設定を行うための列の選択 ダイアログをオープンします(「2.6 表示方法をカスタマイズする」参照)。

(2)

情報表示エリア

取得した関数情報を表示します。

解析ツールが取得する関数情報には,静的解析情報動的解析情報の2つの種別があり,それぞれ表示可能なタイミングは異なります(「1.1.2 解析情報の種別」参照)。

関数情報を表示した状態で,アクティブ・プロジェクトを変更した場合は,変更先プロジェクトの情報を表示します(ただし,変更先プロジェクトにおいて,クロス・リファレンス情報が生成されていない場合,または解析ツールをサポートしていない場合は,何も表示されません)。

なお,プログラムの実行により値が変化した情報は強調表示されます(強調表示の際の文字色/背景色は,オプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存)。強調表示を解除する場合は,ツールバーの ボタンをクリックしてください。

関数情報として取得する項目と内容は次のとおりです。

項目

種別

内容

関数名

静的解析

C/C++ソース・ファイルで定義/参照されているグローバル関数/ファイル内スタティック関数/メンバ関数(クラス型で定義されている関数)の名前を表示します。

1024文字まで表示可能です。

なお,表示アイコンは次の意味を示します。

-

: 関数

-

: メンバ関数【CC-RX】

-

: テンプレート関数【CC-RX】

【CC-RX】

constメンバ関数/volatileメンバ関数の場合は,関数名の直後に“const”/“volatile”を表示します。

クラス名

【CC-RX】

静的解析

関数が属しているクラス名を表示します。

テンプレート・クラスの場合は,“クラス名<T:テンプレート引数の数>”の形式でテンプレート引数の数も表示します。

ただし,関数がメンバ関数以外の場合,または解析未完の場合は空欄となります。

名前空間

【CC-RX】

静的解析

関数が属している名前空間名を表示します。

名前空間がネストしている場合は,“名前空間名::名前空間名”の形式で表示します。また,無名名前空間の場合は,“<unnamed>”を表示します。

ただし,解析未完の場合は空欄となります。

ファイル名

静的解析

関数が定義されているC/C++ソース・ファイル名を表示します(パスを除く)。

ただし,プロジェクト内のC/C++ソース・ファイルで定義されていない場合,または解析未完の場合は,“(定義箇所なし)”を表示します。

なお,ヘッダ・ファイルで定義されている場合は,該当ヘッダ・ファイル名を表示します。

ファイル・パス注1

静的解析

関数が定義されているC/C++ソース・ファイルの絶対パスを表示します。

ただし,プロジェクト内のC/C++ソース・ファイルで定義されていない場合,または解析未完の場合は空欄となります。

なお,ヘッダ・ファイルで定義されている場合は,該当ヘッダ・ファイルの絶対パスを表示します。

PM情報【RH850】

静的解析

関数が実行されるPEを次にように表示します。

-

PEnで実行 :PMn

-

PE共通で実行 :Common

-

不明 :-

ただし,この項目は,選択しているマイクロコントローラがマルチコア対応版の場合のみ表示します。

インポート注1

静的解析

関数情報の取得先を次のように表示します。

-

アクティブ・プロジェクト内から取得した場合
“Original”を表示

-

インポート・ファイルから取得した場合
インポート・ファイル名のすべてを表示

-

アクティブ・プロジェクト内とインポート・ファイルから取得した場合
“Original”とインポート・ファイル名のすべてを表示

なお,インポート機能については,「2.12 情報ファイルをインポート/エクスポートする」を参照してください。

アクセス指定子

【CC-RX】

静的解析

メンバ関数に指定されているアクセス指定子を表示します。

ただし,解析未完の場合は“-”を表示します。

表示可能なアクセス指定子は次のとおりです。

public,private,protected

属性

静的解析

関数のシンボル属性/シンボル修飾属性を表示します。

複数の属性が存在する場合は,“,”で区切り表示します。

ただし,解析未完の場合は“-”を表示します。

表示可能な属性は次のとおりです。

-

【CC-RH】
static,interrupt,inline

-

【CC-RX】
static,interrupt,inline,template,virtual,abstract

-

【CC-RL】
static,interrupt,inline, near,far,callt,rtos task

戻り値の型

静的解析

関数の戻り値の型を表示します注2

ただし,解析未完の場合は“-”を表示します。

表示可能な最大ポインタ数に制限はありません。

引数の数注1

静的解析

関数の引数の数を10進数で表示します。

可変引数を持つ関数の場合は,関数の定義箇所に定義されている引数の数を表示します。

ただし,解析未完の場合は“-”を表示します。

引数

静的解析

関数の引数の型と仮引数名を表示します注2

複数の引数が存在する場合は,“,”で区切り表示します。

可変引数を持つ関数の場合は,関数の定義箇所に定義されている引数の型と引数名を表示します。

引数が存在しない場合は“void”を表示します。

ただし,解析未完の場合は“-”を表示します。

表示可能な最大ポインタ数に制限はありません(配列の1次元目はポインタとして扱います)。

コード・サイズ[バイト]

静的解析

関数のコード・サイズを10進数で表示します。

ただし,解析未完の場合は“-”を表示します。

開始アドレス

静的解析

関数の開始アドレスを16進数で表示します。

表示桁数は選択しているマイクロコントローラの最大アドレス値と同等です。

ただし,解析未完の場合は“-”を表示します。

終了アドレス注1

静的解析

関数が配置されているROM上の終了アドレスを16進数で表示します。

表示桁数は選択しているマイクロコントローラの最大アドレス値と同等です。

ただし,解析未完の場合は“-”を表示します。

参照回数

静的解析

プログラム中で関数が参照されている回数を10進数で表示します。

プロトタイプ宣言も参照として計数します。

なお,C/C++ソース・ファイル中の“#if”/“#ifdef”などで,コンパイル時にプリプロセッサにより除外されるコードにおいて参照されている箇所は参照回数に含みません(コンテキスト・メニューの[すべての参照を検索]による検索結果においても出力しません)。

なお,関数ポインタへの代入による関数の参照は参照回数に含みません。

ただし,解析未完の場合は“-”を表示します。

実行回数

【Full-spec emulator】

【IECUBE】

【E1/E2/E20【RH850】】

【E1/E2 Lite/E20【RX】】

【E1/E2 Lite/E20【RL78】】

【EZ Emulator【RL78】】

【シミュレータ】

動的解析

プログラムを実行した結果,関数が実行された(呼び出された)回数を10進数で表示します注3

なお,関数のラベルが割り振られているアドレスに配置されている命令が実行された際に計数を行うため,関数の途中から測定を実施した場合は,不正な値を表示する場合があります。

ただし,デバッグ・ツールのトレース機能が無効,または解析未完の場合は“-”を表示します。

【E1/E2 Lite/E20【RL78】】【EZ Emulator【RL78】】

トレース・データから分岐元アドレスのみ取得できるため,次の条件に従って実行回数を計算します。

このため,サイズが不明の関数の実行回数や割り込み処理からコールされている関数の実行回数などを計測できません。

-

分岐元の命令を逆アセンブルした結果がCALL/CALLT命令である場合,次のトレース・フレームの分岐元アドレスを含む関数の実行回数を加算

実行時間[単位]   

【Full-spec emulator】

【IECUBE【RL78】】

【E1/E2/E20【RH850】】

【シミュレータ】

動的解析

関数の実行時間(子関数を含めない関数本体のコード実行時間)を表示します注3,4

なお,単位[ツールバー]上の[時間の単位]による選択,またはプロパティ パネル[設定]タブ上の[全般]カテゴリ内[時間の単位]プロパティで変更可能です(時間表示のフォーマットについては,プロパティ パネルの[時間の単位]プロパティを参照してください)。

ただし,デバッグ・ツールのトレース機能が無効,または解析未完の場合は“-”を表示します。

実行時間(割合)[%]

【Full-spec emulator】

【IECUBE【RL78】】

【E1/E2/E20【RH850】】

【シミュレータ】

動的解析

全体の実行時間(トレース・データが取得できた範囲)に占める対象関数の実行時間の割合を,0.00〜100.00の範囲で表示します注3,4

なお,セル内背景色の比率は,割合値を示します。

ただし,デバッグ・ツールのトレース機能が無効,または解析未完の場合は“-”を表示します。

平均実行時間[単位]

【Full-spec emulator】

【IECUBE【RL78】】

【E1/E2/E20【RH850】】

【シミュレータ】

動的解析

関数の平均実行時間(”実行時間”÷”実行回数”)を表示します注3,4

計算の結果,ns以下の数字は小数第1位を四捨五入して表示します。

なお,単位[ツールバー]上の[時間の単位]による選択,またはプロパティ パネル[設定]タブ上の[全般]カテゴリ内[時間の単位]プロパティで変更可能です(時間表示のフォーマットについては,プロパティ パネルの[時間の単位]プロパティを参照してください)。

ただし,デバッグ・ツールのトレース機能が無効,または解析未完の場合は“-”を表示します。

コード・カバレッジ[%]

【IECUBE】

【E20【RX】】注5

【シミュレータ】

動的解析

関数のコード・カバレッジ率(C0:”実行されたアドレス範囲のコードのバイト数”÷”関数のコード・サイズ”×100)を表示します(「3.2 カバレッジ結果について」参照)。

なお,セル内背景色の比率は,コード・カバレッジ率を示します。

ただし,デバッグ・ツールのカバレッジ機能【IECUBE】【E20【RX】】【シミュレータ】が無効,または解析未完の場合は“-”を表示します。

注 1.

この項目は,デフォルトでは表示されません。表示方法についての詳細は,「2.6.1 表示項目を設定する」を参照してください。

注 2.

“#define文”または“typedef文”により型に別名が付与されている場合,別名ではなく,基となる型を表示します。

注 3.

プロパティ パネル[設定]タブ上の[全般]カテゴリ内[解析結果を累積する]プロパティにおいて[はい]を選択している場合,プログラム実行ごとの累積による数値を表示します。

注 4.

実行時間には,コンパイラが用意しているランタイム・ライブラリの実行時間は含まれません。
また,使用しているデバッグ・ツールの設定として,トレース機能開始前にトレース・メモリをクリアしない設定としている場合,実行時間は不正な値となります。

注 5.

【E20【RX】】
この項目は,選択しているマイクロコントローラがカバレッジ機能をサポートしている場合で,デバッグ・ツールと接続している場合のみ表示します。

 

なお,[関数名]項目の最下段には,[合計値]として,各ファイル単位ごとの次の情報を表示します。

ただし,[ファイル名]項目に“(定義箇所なし)”を表示している場合は,これを1つのファイルとして扱います。

図 A.7

[合計値]の表示(関数一覧 パネル)

項目

内容

ファイル名

対象ファイル名

ファイル・パス

対象ファイル・パス

コード・サイズ[バイト]

対象ファイル内関数のコード・サイズの合計値

参照回数

対象ファイル内関数の参照回数の合計値

実行回数

対象ファイル内関数の実行回数の合計値

実行時間[単位]

対象ファイル内関数の実行時間の合計値

実行時間(割合)[%]

全体の実行時間(トレース・データが取得できた範囲)に占める対象ファイル内関数の実行時間の割合

コード・カバレッジ[%]

対象ファイル内関数のファイル単位でのコード・カバレッジ率

この項目は,デフォルトでは表示されません。表示方法についての詳細は,「2.6.1 表示項目を設定する」を参照してください。

注意 1.

デバッグ・ツールと切断時は,動的解析情報の項目は非表示となります(デフォルト)。

注意 2.

【IECUBE【RL78】】
プログラム実行時の最初のトレース・データのタイム・タグには“0”が出力されます。
このため,実行→停止,またはステップ実行を繰り返し行った場合,[実行時間[単位]]/[実行時間(割合)[%]]/[平均実行時間[単位]]項目が不正な値となります。

注意 3.

システム・ライブラリ関数については,次の項目の値を取得することができません。
[戻り値の型]/[引数の数]/[引数]/[コード・サイズ[バイト]]/[終了アドレス]/[実行時間[単位]]/[実行時間(割合)[%]]/[平均実行時間[単位]]/[コード・カバレッジ[%]]

備考 1.

ヘッダ・ファイル内に“static”の関数定義を記述して,1つ以上のソース・ファイルでインクルードしている場合,ヘッダ・ファイルとすべてのソース・ファイルの情報を1行にまとめて表示します。

備考 2.

【CC-RX】
テンプレート関数の定義用の行と,テンプレート関数を使用している関数の行に表示する値は次のとおりです。

// 
// テンプレート関数を使用する関数
//
int templatet_use(void)
{
    	short   result = 0;
    	short   s = 100;
    	char    c = 200;
 
    	result += template_func(s, c);
 
    	return result;
}
 
//
// テンプレート関数の定義
//
template <typename T1, typename T2> T1 template_func(T1 t1, T2 t2)
{
    	T1      result = 10;
 
    	result  += t1 + t2;
 
    	return  result;
}

例 1.

テンプレート関数の定義用の行に表示する内容
[戻り値の型] : -
[引数] : -
[関数名] : Template_func<T:2>


例 2.

テンプレート関数を使用している関数の行に表示する内容
[戻り値の型] : short
[引数] : short t1, char t2
[関数名] : Template_func<T:2>


備考 3.

各情報の表示は,次のカスタマイズを行うことができます。
- 解析情報をソート表示する
- 解析情報をフィルタ表示する

備考 4.

このエリア左端のカレント行マーク( )は,該当行がカレント行であることを示します。
カレント行に対しては,次の操作を行うことができます。
- 定義箇所へジャンプする
- ブレーク・イベントを設定する
- 参照箇所を一覧表示する



[ツールバー]

ツールバー上の各ボタン,および機能は次のとおりです。

 

最新情報を取得し,表示内容を更新します。

 

プログラムの実行が停止するごとに最新情報を取得し,表示内容を更新します。

ただし,プロパティ パネル[設定]タブ上の[全般]カテゴリ内[プログラム停止時に更新を行う]プロパティにおいて[個別に指定する]以外を指定している場合,このボタンは無効となります(プロパティ パネルでの設定を反映した状態で固定されます)。

 

プログラムの実行により値が変化したことを示す強調表示を解除します。

ただし,プログラム実行中は無効となります。

 

プロジェクト・ツリー パネルで現在選択しているファイル/カテゴリ内の関数の情報値のみを表示します(「(a) プロジェクト・ツリー パネルとの連携」参照)。

 

エディタ パネル上のキャレット位置の単語で始まる関数の情報値のみを表示します(「(b) エディタ パネルとの連携」参照)。

 

【RH850】

デバッグ・マネージャ パネルで選択しているPEn,および共通領域内の関数の情報値のみを表示します(「(c) デバッグ・マネージャ パネルとの連携【RH850】」参照)。

ただし,選択しているマイクロコントローラがマルチコア対応版でない場合,またはデバッグ・ツールと切断時は無効となります。

時間の単位

時間表示の単位を設定するために,次のカスケード・メニューを表示します。

デフォルトでは,プロパティ パネル[設定]タブ上の[全般]カテゴリ内[時間の単位]プロパティにおける設定が選択されます。

なお,ここでの設定変更は,プロパティ パネルでの設定に反映されます。

 

時:分:秒表示

時間:分(0〜59):秒(0〜59)で表示します。

秒表示

秒単位で表示します(小数3桁表示)。

ミリ秒表示

ミリ秒単位で表示します(小数3桁表示)。

マイクロ秒表示

マイクロ秒単位で表示します(小数3桁表示)。

ナノ秒表示

ナノ秒単位で表示します(整数表示)。

クロック単位

クロック単位で表示します(整数表示)。

なお,この項目は,選択しているマイクロコントローラがクロック表示をサポートしている場合のみ表示します。

[[ファイル]メニュー(関数一覧 パネル専用部分)]

関数一覧 パネル専用の[ファイル]メニューの各項目,および機能は次のとおりです。

関数一覧データ を保存

このパネルの内容を前回保存したファイルに保存します(「2.14 解析情報をファイルに保存する」参照)。

なお,起動後に初めてこの項目を選択した場合は,[名前を付けて 関数一覧データ を保存...]の選択と同等の動作となります。

名前を付けて 関数一覧データ を保存...

このパネルの内容を指定したファイルに保存するために,名前を付けて保存 ダイアログをオープンします(「2.14 解析情報をファイルに保存する」参照)。

印刷...

現在このパネルに表示している内容を印刷するために,Windows の印刷用 ダイアログをオープンします。

[[編集]メニュー(関数一覧 パネル専用部分)]

関数一覧 パネル専用の[編集]メニューの各項目,および機能は次のとおりです。

コピー

選択している行の内容をタブ区切りの文字列としてクリップ・ボードにコピーします(複数行選択可)。

なお,コピーした内容をこのパネル上に貼り付けることはできません。

すべて選択

このパネルに表示されているすべての行を選択状態にします。

[コンテキスト・メニュー]

このパネル上において,マウスを右クリックすることにより表示されるコンテキスト・メニューの各項目,および機能は次のとおりです。

すべての参照を検索

選択している行(複数行選択可)の関数を参照している箇所を検索し,出力 パネル[参照の検索]タブ上に参照箇所一覧を表示します(「2.11 参照箇所を一覧表示する」参照)。

関数の先頭にブレークを設定

カレント行の関数の先頭行(対象関数の先頭実行可能行)にブレークポイントを設定します(「2.9.1 関数にブレークポイントを設定する」参照)。

ただし,デバッグ・ツールと切断時は無効となります。

ソースへジャンプ

カレント行の関数が定義されているソース・ファイルをエディタ パネル上にオープンします(「2.7 定義箇所へジャンプする」参照)。

逆アセンブルへジャンプ

カレント行の関数の開始アドレスに対応する逆アセンブル・データを逆アセンブル パネル(逆アセンブル1)上にオープンします(「2.7 定義箇所へジャンプする」参照)。

ただし,デバッグ・ツールと切断時は無効となります。

メモリへジャンプ

カレント行の関数の開始アドレスに対応するメモリ・リストをメモリ パネル(メモリ1)上にオープンします(「2.7 定義箇所へジャンプする」参照)。

ただし,デバッグ・ツールと切断時は無効となります。

コピー

選択している行(複数行選択可)の内容をタブ区切りの文字列としてクリップ・ボードにコピーします。

なお,コピーした内容をこのパネル上に貼り付けることはできません。