Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH...

23
Training Simulator and Demo Software Version 22-Mar-2018 目次 About the Demo.......................................................................................................................................... 1 Starting the TRACE32 Simulator .............................................................................................................. 1 User Interface - TRACE32 PowerView ..................................................................................................... 2 Program Listing and Program Counter................................................................................................ 2 TRACE32 Commands............................................................................................................................. 3 TRACE32 Command Line and Softkeys .............................................................................................. 3 Single Stepping....................................................................................................................................... 4 Window Captions - What makes them special in TRACE32 .............................................................. 5 Memory ........................................................................................................................................................ 7 Displaying Memory................................................................................................................................. 7 Modifying Memory .................................................................................................................................. 8 Debugging the Program......................................................................................................................... 9 Displaying the Nesting of Functions .................................................................................................. 12 Breakpoints............................................................................................................................................... 13 Setting Software Breakpoints ............................................................................................................. 13 Listing all Breakpoints ......................................................................................................................... 14 Setting a Program Breakpoint to Any Code Line within a Function............................................... 15 Setting a Spot Breakpoint.................................................................................................................... 16 Adding a Watch on a Variable ............................................................................................................. 17 Removing Breakpoints ........................................................................................................................ 18 HLL Variables ........................................................................................................................................... 19 Displaying HLL Variables .................................................................................................................... 19 Displaying HLL Variables of the Current Program Context............................................................. 20 Using the Symbol Browser .................................................................................................................. 20 Formatting HLL Variables .................................................................................................................... 21 Modifying Variables.............................................................................................................................. 22

Transcript of Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH...

Page 1: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

Training Simulator and Demo Software

Version 22-Mar-2018

目次

About the Demo .......................................................................................................................................... 1

Starting the TRACE32 Simulator .............................................................................................................. 1

User Interface - TRACE32 PowerView ..................................................................................................... 2

Program Listing and Program Counter ................................................................................................ 2

TRACE32 Commands ............................................................................................................................. 3

TRACE32 Command Line and Softkeys .............................................................................................. 3

Single Stepping ....................................................................................................................................... 4

Window Captions - What makes them special in TRACE32 .............................................................. 5

Memory ........................................................................................................................................................ 7

Displaying Memory ................................................................................................................................. 7

Modifying Memory .................................................................................................................................. 8

Debugging the Program ......................................................................................................................... 9

Displaying the Nesting of Functions .................................................................................................. 12

Breakpoints ............................................................................................................................................... 13

Setting Software Breakpoints ............................................................................................................. 13

Listing all Breakpoints ......................................................................................................................... 14

Setting a Program Breakpoint to Any Code Line within a Function ............................................... 15

Setting a Spot Breakpoint.................................................................................................................... 16

Adding a Watch on a Variable ............................................................................................................. 17

Removing Breakpoints ........................................................................................................................ 18

HLL Variables ........................................................................................................................................... 19

Displaying HLL Variables .................................................................................................................... 19

Displaying HLL Variables of the Current Program Context ............................................................. 20

Using the Symbol Browser .................................................................................................................. 20

Formatting HLL Variables .................................................................................................................... 21

Modifying Variables .............................................................................................................................. 22

Page 2: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

1 ©1989-2018 Lauterbach GmbH

About the Demo

このTRACE32 チュートリアルでは、Cの簡単なサンプルプログラムを用いて最も重要なデバッグ機能を説明

すると同時に、使用に役立つ多くのヒントとコツを紹介します。所要時間は0.5〜1時間で、すべての章を順

番に通して作業します。評価版のTRACE32シミュレータを以下のリンクからダウンロードすることで、ハー

ドウェアが無くても、直ぐにセッションを開始することができます。(例:Simulator for TriCore)

ダウンロード: https://www.lauterbach.com/frames.html?download_demo.html

より詳しい情報は、以下のページ内に公開される「日本語トレーニングマニュアル」をご参考ください。

https://www.lauterbach.com/frames.html?training_j.html#_H2

Starting the TRACE32 Simulator

1.ダウンロードしたファイルを解凍します。TRACE32シミュレータをインストールする必要はありません。

2. t32m <アーキテクチャ> .exeファイル(例:t32mtc.exe)をダブルクリックして、デモデバッグセッショ

ンを開始します。

例:Simulator for TriCore(simtc.zip)の中身

TRACE32命令セットシミュレータ(Instruction Set Simulator)が起動すると、デバッグセッションを設定す

る起動PRACTICEスクリプトが自動的に実行されます。Fileメニュー> Run Scriptの順に選択して、同じ起動

PRACTICEスクリプト(t32.cmm)を手動で実行することもできます。

Page 3: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

2 ©1989-2018 Lauterbach GmbH

PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

の設定に使用されます。

このデモデバッグセッションでは、PRACTICE起動スクリプト demo.cmm がアプリケーションプログラム

demo.elf をロードし、ロードされた情報からTRACE32内部シンボルデータベースを生成します。

デフォルトでは、TRACE32は起動時にt32.cmmスクリプトを実行します。

User Interface - TRACE32 PowerView

TRACE32のグラフィカルユーザーインターフェース(GUI)は、TRACE32 PowerViewと呼ばれます。下の

スクリーンショットを参照してください。例として、Data.List コマンドとData.List ウィンドウを使用し

て、GUIについて簡単に説明します。

Program Listing and Program Counter

以下のいずれかの操作を行って、Data.Listウィンドウを開きます。

•Viewメニュー> List Sourceを選択する

•または、TRACE32コマンドラインで、Data.List(またはD.LまたはList)と入力する

Data.List(= List)ウィンドウに、アセンブラニーモニックとHLLのコードが表示されます。

Data.Listウィンドウで、灰色のバーはプログラムカウンタ(PC)の位置を示します。現在、それはラベル

mainのシンボリックアドレスにあります。 これは、次のように、プログラムカウンタ(PC)が起動用の

PRACTICEスクリプトで指示されているためです。

;Set CPU register Program Counter (PC) to the address of the label main.

Register.Set PC main

Page 4: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

3 ©1989-2018 Lauterbach GmbH

TRACE32 Commands

TRACE32 PowerViewでは、様々な方法でコマンドを実行できます。

1.メニューバーのメニュー

2.メインツールバーのボタンとTRACE32ウィンドウのツールバーのボタン

3. TRACE32ウィンドウのコンテキストメニュー

さらにTRACE32コマンドラインとその下のソフトキーを使用してコマンドを実行できます。

TRACE32 Command Line and Softkeys

TRACE32コマンドでは大文字と小文字が区別されません。register.viewはRegister.viewと同じです。

大文字はコマンドの短い形式を示し、省略してはいけません。 小文字はすべて省略できます。 これによ

り、コマンドラインで頻繁に使用されるコマンドを入力するときに、短縮形が効率的な時間節約になりま

す。 例:

•長い形式のRegister.viewの代わりに短い形式のrまたはRを入力する

•長い形式のData.Listの代わりに、短い形式のd.lまたはD.Lだけを入力します。

ソフトキーはコマンドラインの下にあります。ソフトキーのキャメルケース(大文字と小文字)は、長い形

式のコマンドを示しています。 ソフトキーはコマンド入力をガイドし、すべての可能なコマンドとパラメー

タを表示します。

例 - ソフトキーを使用してData.dumpコマンドを作成する

1.Data をクリックします。

2.dump をクリックします。

3.ダンプする<範囲>または<アドレス>を入力します。 たとえば、0x1000--0x2000

4. [OK]をクリックしてコマンドを実行します。 Data.dumpウィンドウが開きます。

Page 5: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

4 ©1989-2018 Lauterbach GmbH

Single Stepping

基本的なデバッグコマンドは、Runメニュー、Data.Listウィンドウのツールバー、メインツールバー、そし

てTRACE32コマンドラインから利用できます。

シングルステッピング は基本的なデバッグコマンドの1つです。

TRACE32は、より複雑なデバッグ制御コマンドも提供します。例えば、式が変更されるかtrueになるまで実

行またはステップ実行できます。

例:Var.Step.Till vchar>11. 変数 vchar が11より大きくなるまでプログラムをシングルステップ実行しま

す。末尾のドットは非常に重要です。 11を10進数としてフォーマットするのはドットです。

(注:vchar >11.は、 vchar > 0xBと同等です)

Page 6: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

5 ©1989-2018 Lauterbach GmbH

Window Captions - What makes them special in TRACE32

ウィンドウを開くときのコマンドはウィンドウキャプションとして表示されます。 パラメータとオプション

もウィンドウキャプションに含まれています。

コマンドを修正するために、ウィンドウキャプションからコマンドラインにコマンドを再挿入できます。

Registerウィンドウで同様の操作を行いましょう。

1. ViewメニューからRegisterを選択します。

2.ウィンドウキャプション(a)を右クリックします。

3.コマンドを変更します。例: /SpotLight オプションを追加して、変更されたレジスタを強調表示しま

す。

Page 7: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

6 ©1989-2018 Lauterbach GmbH

4. [OK]をクリックして変更したコマンドを実行します。

5. TRACE32ツールバーのシングルステップ をクリックします。 変更されたレジスタはすぐに強調表

示されます。

Page 8: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

7 ©1989-2018 Lauterbach GmbH

Memory

Displaying Memory

1. Data.dumpウィンドウにメモリダンプを表示するために、以下のいずれかを実行します。

- ViewメニューからDumpを選択します。

- またはツールバーのMemory Dumpをクリックします。

- または、TRACE32コマンドラインで「Data.dump」と入力します。

アドレスやシンボルを直接指定することもできます。例:Data.dump main++0x30

2. Data.dumpダイアログで、データ項目を入力します。 例:main

- または、HLLチェックボックスをオンにて、シンボルデータベースをクリックして参照します。

3. Browse Symbolsウィンドウでシンボル(例:flags)をダブルクリックして、OKをクリックします。

Page 9: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

8 ©1989-2018 Lauterbach GmbH

下図は、Data.dumpウィンドウがTRACE32コマンドラインを介して呼び出されている様子です。

アドレス範囲を定義する方法はいくつかあります。

• <start_address>--<end_address>

Data.dump D:0x5530--D:0x554F ;D: is a memory class specifier

• <start_address>++<offset>

Data.dump str2++20. /Byte ;start at str2 plus the next 20 bytes

Data.dump str2--(str2+20.) /Byte ;alternative to previous line

Modifying Memory

1. Data.dumpウィンドウで、変更したい値をダブルクリックします。

選択したアドレスに対するData.Setコマンドがコマンドラインに表示されます。 コマンドの短縮形は

D.Sまたはd.sです。

2. コマンドラインに表示されたコマンドの後に値を入力し、OKで確定します。

Page 10: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

9 ©1989-2018 Lauterbach GmbH

Debugging the Program

1. ViewメニューからList Sourceを選択します。

Data.Listウィンドウが開き、現在のプログラムカウンタ周辺のプログラムリストが表示されます。

2.プログラムをシングルステップ実行するには、次のいずれかを実行します。

- Runメニュー> Stepを選択します。

- またはF2を押します(Runメニューのファンクションキーを参照)。

- またはTRACE32ツールバーのSingle Stepをクリックします。

- または、Data.ListウィンドウのStepをクリックします。

- または、TRACE32コマンドラインで、Step を入力します。

Page 11: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

10 ©1989-2018 Lauterbach GmbH

3. TRACE32メインウィンドウの下部にある状態行を見てください。

state行の内容:

A アクティブウィンドウ内の現在のカーソル位置の(シンボリック)アドレス。現在のカーソル位置は青

で強調表示され、プログラムカウンタ(PC)は灰色で強調表示されています。

B デバッガの状態:stopped アプリケーションプログラムが停止している状態であり、メモリの参照や

変更などができます。

C 現在選択されているデバッグモードが表示されます。コード表示は、HLL(高水準言語)、ASM(アセ

ンブラ)、またはHLLとそれに対応するアセンブラニーモニックのMIXモードになります。

4. Data.Listウィンドウのツールバーで、ModeをクリックしてデバッグモードをHLLに切り替えます。

Page 12: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

11 ©1989-2018 Lauterbach GmbH

5. をクリックします。

ここで行っているのは、次のHLL行への高級言語レベルのステップ実行です。

6.もう一度 をクリックして、デバッグモードをMIXに切り替えます。

7. をクリックします。今回は、1つのアセンブラ行が実行されます。

8.コード行を右クリックして、Go Tillを選択します。 プログラムの実行が始まります。 プログラムが選

択されたコード行に達すると停止します。

Page 13: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

12 ©1989-2018 Lauterbach GmbH

Displaying the Nesting of Functions

次の例では、関数のネストがあるとします。main()がfunc2()を呼び出し、func2()がfunc1()を呼び

出します。

Varメニュー> Show Stackを選択します。 Frame.viewウィンドウに関数の入れ子が表示されます。

・/Localsオプションは、各関数のローカル変数を表示します。

・/Callerオプションは、関数が呼び出された場所を示すために、いくつかのCコード行を表示します。

上記のネストと呼び出しのシーケンスを下図に示します。

Page 14: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

13 ©1989-2018 Lauterbach GmbH

Breakpoints

ブレークポイントは最も頻繁に使用されるデバッグ機能の1つです。

Setting Software Breakpoints

primzとanzahl ++にブレークポイントを設定しましょう

1.コード行をダブルクリックしてプログラムブレークポイントを設定します。

2.コードリテラルではなく、必ずコード行の空白をクリックしてください。

プログラムブレークポイントを持つすべてのコード行は、赤い縦線でマークされています。

Page 15: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

14 ©1989-2018 Lauterbach GmbH

Listing all Breakpoints

1. Breakメニュー> Listを選択して、すべてのブレークポイントを一覧表示します。

Break.Listウィンドウが開き、既存のブレークポイントの概要が表示されます。

A:ブレークポイントの16進数アドレス

B:ブレークポイントタイプ

C:ブレークポイントの実装:SOFTware、ONCHIP、またはDISABLED

Data.Listウィンドウの灰色のバーは、無効なブレークポイントを示します。

D:ブレークポイントのコード行。 例:

•func2¥6は、func2のHLL行6を意味します。

•func2¥13+0x8は、func2 + 8バイトのHLL行13を意味します。

(デバッグモードMIXでのみ有用)

2.ツールバーのGo をクリックしてプログラムの実行を開始します。

3.プログラムがブレークポイントに達していない場合は、Break をクリックしてプログラムの実行を停

止します。

Page 16: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

15 ©1989-2018 Lauterbach GmbH

Setting a Program Breakpoint to Any Code Line within a Function

関数sieve()でブレークポイントをanzahl = 0に設定しましょう。

1. Varメニュー> Show Functionを選択します。

sYmbol.Browse.Functionウィンドウが開きます。

2. sieveをダブルクリックします。

Data.Listウィンドウが開き、sieveが表示されます。

3.コード行の空白をダブルクリックしてブレークポイントをanzahl = 0に設定します。

ブレークポイントを示す赤い縦線がData.Listウィンドウに表示されます。

4. Breakメニュー> Listを選択して、すべてのブレークポイントを一覧表示します。

Break.Listウィンドウが開き、既存のブレークポイントの概要が表示されます。

Page 17: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

16 ©1989-2018 Lauterbach GmbH

Setting a Spot Breakpoint

スポットブレークポイントは、表示されているすべての情報を更新するためにプログラムの実行を短時間停

止してからプログラムの実行を再開する監視ポイントです。

変数 primz にスポットブレークポイントを設定しましょう。

To set a spot breakpoint:

1. 変数primz のコード行の空白部分を右クリックし、Breakpoints > Spotを選択します。

スポットブレークポイントが設定されると、黄色の線の付いた赤い垂直バーがData.Listウィンドウに表示さ

れます。

2. Breakメニュー> Listを選択して、すべてのブレークポイントを一覧表示します。

Break.Listウィンドウが開き、既存のブレークポイントの概要が表示されます。

Page 18: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

17 ©1989-2018 Lauterbach GmbH

Adding a Watch on a Variable

プログラムの実行中に、変数 anzahl のすべての変更を監視しましょう。

前提条件:変数primzにスポットブレークポイントを設定した状態。

1.変数 anzahl を右クリックし、Add to Watch Windowを選択します。

2. Data.Listウィンドウで、Goをクリックしてプログラムの実行を開始します。

プログラムの実行中に、Var.Watchウィンドウで変数 anzahl の変更を見ることができます。

Page 19: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

18 ©1989-2018 Lauterbach GmbH

Removing Breakpoints

ブレークポイントを削除するには、マークされた行をダブルクリックするか、Break.Listウィンドウでブレ

ークポイントを切り替えます。

Training Simulator and Demo Software 18

Page 20: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

19 ©1989-2018 Lauterbach GmbH

HLL Variables

Displaying HLL Variables

変数flags、def、およびastを表示しましょう。

1. Varメニュー> Watchを選択します。

Var.AddWatchウィンドウが開き、シンボルデータベースにロードされたHLL変数が表示されます。

2. HLL変数flagsをダブルクリックします。

Var.Watchウィンドウが開き、選択したHLL変数が表示されます。

3. Var.Watchウィンドウから直接アクセスする

- Var.Watchウィンドウで、Watchをクリックし、次に変数defとastをダブルクリックしてVar.Watchウ

ィンドウに追加します。

- Data.Listウィンドウから、Var.Watchウィンドウに必要な変数をドラッグアンドドロップします。

- Data.Listウィンドウで任意の変数を右クリックして、コンテキストメニューからAdd to Watch

windowを選択します。

- 複雑な構造や配列を別のウィンドウに表示したい場合は、Varメニュー> Viewを選択します。

Page 21: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

20 ©1989-2018 Lauterbach GmbH

Displaying HLL Variables of the Current Program Context

1. TRACE32コマンドライン入力から、プログラムカウンタ(PC)をsieve()に設定します。

Register.Set pc sieve ;The command short form is: r.s pc sieve

2. Varメニュー> Show Current Varsを選択します。

Var.REFウィンドウが開き、現在のプログラムコンテキストによってアクセスされているすべての変数が

表示されます。

3. TRACE32ツールバーの Stepをクリックして、いくつかのステップ実行をします。

Var.REFウィンドウは自動的に更新されます。

Using the Symbol Browser

シンボルブラウザは、現在シンボルデータベースに格納されている変数、関数、およびモジュールの概要を

提供します。

1. Varメニュー> Watchを選択します。

Var.AddWatchウィンドウでは、シンボルデータベースの内容を閲覧できます。

2. Var.AddWatchウィンドウで、func2をダブルクリックします。

Page 22: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

21 ©1989-2018 Lauterbach GmbH

Formatting HLL Variables

HLL変数の表示をフォーマット設定する - グローバル設定:

1. Varメニュー> Formatを選択します。

2. SETUP.Varウィンドウで設定を行います。 10進数と16進数は便利なグローバル設定です。

その後で開いたすべてのVar.viewウィンドウに設定が適用されます。

個々のHLL変数の表示をフォーマットするには、以下のようにします。

1.コマンドラインで次のように入力します。Var.view ast(変数astはこのデモに含まれています。)

2. Var.viewウィンドウでastを右クリックし、Formatを次にクリックします。

Change Variable Format ダイアログが開きます。

3. Typeチェックボックスをオンにして、完全な型情報を使用して変数astをフォーマットします。

4. Applyをクリックします。 Var.viewウィンドウのastのフォーマットはすぐに更新されます。

5.より複雑なHLL構造の場合は、Change Variable FormatダイアログボックスでTREEを選択します。

Page 23: Training Simulator and Demo Software2 ©1989-2018 Lauterbach GmbH PRACTICE(Lauterbachスクリプト言語)は、テストの自動化、TRACE32 GUIの設定、およびデバッグ環境

22 ©1989-2018 Lauterbach GmbH

Modifying Variables

1.変数値をダブルクリックして値を変更します。 Var.setコマンドがコマンドラインに表示されます。 コ

マンドの短縮形はVまたはvです。

2.等号(=)の直後に新しい値を入力し、[OK]で確定します。