プログラムの実行履歴を記録したトレース・データの表示を行います(「2.15 実行履歴の収集」参照)。
トレース・データは,デフォルトでソース・テキストと逆アセンブル・テキストを混合して表示しますが,表示モードを選択することにより,そのどちらか一方のみを表示させることもできます。
プログラムの実行停止後,最新のトレース・データが表示されるよう表示位置を自動更新します。
なお,このパネルは,デバッグ・ツールと接続時のみオープンすることができます。
注意 1. | ソフトウェア・トレースのデータはPythonコンソールを使用して取得することができます。詳細は,「CS+ Pythonコンソール編」のdebugger.SoftwareTrace関数を参照してください。 |
注意 2. | 【Full-spec emulator】【E1】【E20】
プロパティ パネルの[デバッグ・ツール設定]タブの[トレース]カテゴリ内[トレースの取得対象設定]プロパティにおいて[全てのコア]を選択してトレース・データを収集した場合では,コア(PE)の選択を切り替えることにより,選択したPEに対応したトレース・データの表示を行います(「2.10 コア(PE)の選択」参照)。 |
備考 1. | ツールバーの
,または[Ctrl]キーを押下しながらマウス・ホイールを前後方に動かすことにより,本パネルの表示を拡大/縮小することができます。 |
備考 2. | パネル上の各エリアの区切り線をダブルクリックすることにより,該当エリアの内容を省略することなく表示可能な最小幅に変更することができます。 |
図 A.16 | トレース パネル【Full-spec emulator】【E1】【E20】 |
ここでは,次の項目について説明します。
[オープン方法]
- | エディタ パネル/逆アセンブル パネルにおいて,コンテキスト・メニューの[トレース設定]→[トレース結果の表示]を選択 |
[各エリアの説明]
トレース・フレームに対応するトレース番号を表示します。
トレースの対象となったコア名を表示します。
(3) | [時間(h:min:s,ms,μs,ns)]エリア |
プログラムの実行開始から各フレームの命令実行,またはメモリ・アクセスの要因が発生するまでに要した時間を“時間,分,秒,ミリ秒,マイクロ秒,ナノ秒”の単位で表示します。
備考 1. | 【Full-spec emulator】【E1】【E20】
時間表示は差分時間となります。
マルチコアの場合,同じPE番号のうち前のデータからの差分時間を表示します。 |
備考 2. | 【シミュレータ】
時間表示を積算時間とするか差分時間とするかは,プロパティ パネルの[デバッグ・ツール設定]タブ上の[トレース]カテゴリ内[トレース・タイム・タグを積算]プロパティの設定に依存します。
マルチコアで差分時間を表示する場合,同じPE番号のうち前のデータからの差分時間を表示します。 |
プログラムの実行開始から各フレームの命令実行,またはメモリ・アクセスの要因が発生するまでに要した時間をCPUクロック数で表示します。
備考 1. | 【Full-spec emulator】【E1】【E20】
時間表示は差分CPUクロック数となります。 |
備考 2. | 【シミュレータ】
時間表示を積算CPUクロック数とするか差分CPU クロック数とするかは,プロパティ パネルの[デバッグ・ツール設定]タブ上の[トレース]カテゴリ内[トレース・タイム・タグを積算]プロパティの設定に依存します。 |
ソース・ファイルの行番号,またはアセンブル命令のアドレスを表示します。
表示進数や文字列のエンコードは,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
表示形式は次のとおりです。
|
|
ソース・テキスト
|
<ファイル名>#<行番号>
|
命令(逆アセンブル)
|
<アドレス>
|
上記以外
|
|
備考 | 次の実行履歴を表示しないため,行番号は連番にはなりません。 |
パイプラインの実行状況を表示します。
文字数は20文字で,1文字が1クロック分のステージに相当します。各ステージは,そのステージが実行されたクロックに対する20の剰余の値を文字列のインデックスとして表示します。
各ステージを表す文字の意味は次のとおりです。
例 1. | F:10クロック目,D:11クロック目,E:13クロック目の場合
表示:FD_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
例 2. | F:18クロック目,D:19クロック目,E:20クロック目の場合
表示:E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _FD |
収集したトレース・データを次のように表示します。
なお,表示モードの選択により,このエリアに表示される項目は異なります(「(a) 表示モード」参照)。
図 A.18 | [ソース/逆アセンブル]エリアの表示内容(デフォルト) |
ラベル名
|
アドレスにラベルが定義されている場合は,ラベル名を表示します。
|
オフセット値
|
アドレスにラベルが定義されていない場合は,一番近いラベルからのオフセット値を表示します。
|
ソース・テキスト
|
混合表示モード/ソース表示モードを選択している場合,対応するソース・テキストを表示します。
ただし,デバッグ情報が存在しない箇所を実行した場合は,“デバッグ情報なし”と表示します。
なお,ソース行の実行時にアクセスされた変数注1/I/Oレジスタの値が解析可能な場合は,その値をソース行に続き次の形式で表示します。
例:a=b; <<<a=5>>>
また,ポイント・トレースの結果を表示する場合も同様の形式で表示します。
|
命令(逆アセンブル結果)
|
混合表示モード/逆アセンブル表示モードを選択している場合,対応する命令(逆アセンブル結果)を表示します注2。ニモニックは強調表示されます。
|
ブレーク要因
【シミュレータ】
|
プログラムがブレークした要因を表示します。
|
注 1. | メモリへのアクセスが発生した場合,対象アドレスにシンボルが割り当たっている場合にかぎり,該当シンボルを変数とみなして表示します。
ただし,4バイトまでの変数が対象となります。
なお,乗算などの記述が,標準ライブラリで処理されている場合,標準ライブラリで使用しているSADDR領域のラベルが表示される場合があります。 |
注 2. | トレース・データの取りこぼしがあった場合は,“(LOST)”を表示し,該当行全体をエラー色で表示します(エラー色はオプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存)。 |
このエリアは,次の機能を備えています。
ツールバーのボタン,またはコンテキスト・メニューの選択により,次の3つの表示モードを選択することができます。
|
|
混合表示モード
|
命令(逆アセンブル)/ラベル名/ソース・テキスト(対応するソース行)/ポイント・トレース結果/ブレーク要因を表示します(デフォルト)。
|
逆アセンブル表示モード
|
命令(逆アセンブル)/ラベル名/ポイント・トレース結果/ブレーク要因を表示します。
|
ソース表示モード
|
ソース・テキスト(対応するソース行)/ブレーク要因を表示します。
ただし,デバッグ情報が存在しない箇所を実行した場合は,“デバッグ情報なし”と表示します。
|
コンテキスト・メニューの[ソースへジャンプ]を選択することにより,現在のキャレット位置の行に対応するソース行にキャレットを移動した状態でエディタ パネルがオープンします(すでにオープンしている場合は,エディタ パネルにジャンプ)。
また,同様に[逆アセンブルへジャンプ]を選択することにより,現在のキャレット位置の行のフェッチ・アドレスにキャレットを移動した状態で逆アセンブル パネル(逆アセンブル1)がオープンします(すでにオープンしている場合は,逆アセンブル パネル(逆アセンブル1)にジャンプ)。
ツールバーの
/
ボタン,またはコンテキスト・メニューの[ウインドウ連動]→[ソースと連動]/[逆アセンブルと連動]を選択することにより,このパネル上のキャレット位置のアドレスをポインタとして,エディタ パネル/逆アセンブル パネルで対応箇所を連動して表示させることができます(フォーカスの移動は行いません)。
マウス・カーソルを行に重ねることにより,その行に対応するすべてのエリア(項目)のデータを縦並びにポップアップ表示します。
[ファイル]メニュー→[名前を付けてトレース・データを保存...]を選択することにより,データ保存 ダイアログをオープンし,このパネルの内容をテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存することができます。
トレース・データの保存方法についての詳細は,「2.15.9 実行履歴の表示内容を保存する」を参照してください。
(8) | [要因]エリア【Full-spec emulator】【E1】【E20】 |
メモリ・アクセスの要因情報を表示します。
表示形式は次のとおりです。
|
|
PE/スレッド
|
<デバッグ・ターゲット情報>
|
DMA
|
DMA
|
Bus Master
|
Bus Master ID<番号>注
|
上記以外
|
(何も表示しません)
|
注 | 番号はデバイスのユーザーズマニュアル ハードウェア編を参照してください。 |
(9) | [エリア]エリア【Full-spec emulator】【E1】【E20】 |
メモリ・アクセスの対象エリア情報を表示します。
表示形式は次のとおりです。
|
|
Global RAM
|
Global RAM
|
Local RAM
|
Local RAM<番号>
|
Cluster RAM
|
Cluster RAM<番号>
|
上記以外
|
(何も表示しません)
|
(10) | [ID]エリア【Full-spec emulator】【E1】【E20】 |
メモリ・アクセスのIDを表示します。
表示形式は次のとおりです。
|
|
ID番号
|
ID<0~15の10進数>
|
上記以外
|
(何も表示しません)
|
メモリ・アクセスの対象アドレスを表示します。
ただし,I/Oレジスタへのアクセスの場合は,アドレスの代わりにI/Oレジスタ名を表示します(アクセスが複数ある場合は次の行に表示)。
表示進数は,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
アクセスしたデータ値,およびその際のアクセス種別を表示します。
ただし,CPUレジスタ・アクセスは表示しません。
表示進数や文字列のエンコードは,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
データ値,およびアクセス種別の表示形式は次のとおりです(文字色/背景色はオプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存)。
|
|
|
文字色
|
標準色
|
リード・アクセス
|
背景色
|
薄緑
|
|
文字色
|
標準色
|
ライト・アクセス
|
背景色
|
オレンジ
|
|
文字色
|
標準色
|
リードとライト・アクセス
|
背景色
|
薄青
|
|
文字色
|
標準色
|
ベクタ・リード・アクセス
|
背景色
|
薄緑
|
その他の情報(仮想化支援機能,ソフトウェア・トレース等)を表示します。
複数の情報を表示する場合は’,’で区切ります。
各情報は<項目名>あるいは<項目名>=<値>の形式で表示します。
|
|
|
ホスト・モード
|
Host
|
Guest,GPID=0,SPID=2
Host,SPID=0
|
ゲスト・モード
|
Guest
|
ゲスト・モードのパーティション識別子
|
GPID=<ID>
|
システム・プロテクションID
|
SPID=<ID>
|
dbcp
|
dbcp=<Value>
|
dbcp=0x00100E4
|
dbpush
|
dbpush=(<Number>:<Value>)
|
__dbpush(4,6)の例
dbpush=(4:0x00000000)
dbpush=(5:0x00000007)
dbpush=(6:0x0001000C)
|
dbtag
|
dbtag=<Value>
|
dbtag=0x3FF
|
[ツールバー]
|
デバッグ・ツールから最新の情報を取得し,表示を更新します。
ただし,トレーサ動作中は無効となります。
|
|
トレース・メモリをクリア(初期化)し,このパネルの表示もクリアします。
ただし,トレーサ動作中は無効となります。
|
|
トレーサの動作を開始します。
現在,このパネルで表示している内容をクリアします。
ただし,トレーサ動作中は無効となります。
|
|
トレーサの動作を停止します。
新たに取得したトレース・データの内容に表示を更新します。
ただし,トレーサ停止中は無効となります。
|
|
トレース検索 ダイアログをオープンします。
|
表記
|
値の表示形式を変更する次のボタンを表示します。
ただし,トレーサ動作中は無効となります。
|
|
|
このパネル上の値を16進数で表示します(デフォルト)。
|
|
このパネル上の値を10進数で表示します。
|
|
このパネル上の値を8進数で表示します。
|
|
このパネル上の値を2進数で表示します。
|
|
選択している行に連動してエディタ パネルをスクロールします。
|
|
選択している行に連動して逆アセンブル パネルをスクロールします。
|
|
表示モードを混合表示モードにします(デフォルト)。
ただし,トレーサ動作中は無効となります。
|
|
表示モードを逆アセンブル表示モードにします。
ただし,トレーサ動作中無効となります。
|
|
表示モードをソース表示モードにします。
ただし,トレーサ動作中は無効となります。
|
[[ファイル]メニュー(トレース パネル専用部分)]
トレース パネル専用の[ファイル]メニューは次のとおりです(その他の項目は共通)。
ただし,プログラム実行中はすべて無効となります。
トレース・データを保存
|
トレース・データの内容を前回保存したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存します(「(e) トレース・データの保存」参照)。
なお,起動後に初めてこの項目を選択した場合は,[名前を付けてトレース・データを保存...]の選択と同等の動作となります。
ただし,トレーサ動作中は無効となります。
|
名前を付けてトレース・データを保存...
|
トレース・データの内容を指定したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存するために,データ保存 ダイアログをオープンします(「(e) トレース・データの保存」参照)。
ただし,トレーサ動作中は無効となります。
|
[[編集]メニュー(トレース パネル専用部分)]
トレース パネル専用の[編集]メニューは次のとおりです(その他の項目はすべて無効)。
コピー
|
選択している行の内容を文字列としてクリップ・ボードにコピーします(複数行選択不可)。
ただし,トレーサ動作中は無効となります。
|
検索...
|
トレース検索 ダイアログをオープンします。
|
[コンテキスト・メニュー]
トレース・クリア
|
トレース・メモリをクリア(初期化)し,このパネルの表示もクリアします。
ただし,トレーサ動作中は無効となります。
|
トレース開始
|
トレーサの動作を開始します(「2.15.5.2 実行履歴の収集を再開する」参照)。
現在,このパネルで表示している内容をクリアします。
ただし,トレーサ動作中は無効となります。
|
トレース停止
|
トレーサの動作を停止します(「2.15.5.1 実行履歴の収集を一時的に停止する」参照)。
新たに取得したトレース・データの内容に表示を更新します。
ただし,トレーサ停止中は無効となります。
|
検索...
|
トレース検索 ダイアログをオープンします。
|
コピー
|
選択している行の内容を文字列としてクリップ・ボードにコピーします(複数行選択不可)。
ただし,トレーサ動作中は無効となります。
|
混合表示
|
表示モードを混合表示モードにします。
ただし,トレーサ動作中は無効となります。
|
逆アセンブル表示
|
表示モードを逆アセンブル表示モードにします。
ただし,トレーサ動作中は無効となります。
|
ソース表示
|
表示モードをソース表示モードにします。
ただし,トレーサ動作中は無効となります。
|
表記
|
表示進数を指定するために,次のカスケード・メニューを表示します。
ただし,トレーサ動作中は無効となります。
|
|
16進数
|
このパネル上の値を16進数で表示します(デフォルト)。
|
10進数
|
このパネル上の値を10進数で表示します。
|
8進数
|
このパネル上の値を8進数で表示します。
|
2進数
|
このパネル上の値を2進数で表示します。
|
ウインドウ連動
|
他のパネルとの連動を行うために,次のカスケード・メニューを表示します。
|
|
ソースと連動
|
キャレット位置の行に連動してエディタ パネルをスクロールします。
|
逆アセンブルと連動
|
キャレット位置の行に連動して逆アセンブル パネルをスクロールします。
|
逆アセンブルへジャンプ
|
キャレット位置の行のフェッチ・アドレスにキャレットを移動した状態で,逆アセンブル パネル(逆アセンブル1)がオープンします。
|
ソースへジャンプ
|
キャレット位置の行に対応するソース行にキャレットを移動した状態で,エディタ パネルがオープンします。
|
メモリへジャンプ
|
キャレット位置の行に対応するメモリ値にキャレットを移動した状態で,メモリ パネルがオープンします。
|