Insight
操作説明書
☆第2版☆
はしがき
本書では、FVL/LNX 用のアプリケーションをデバッグする際に利用できるデバッグツール Insight に関する説明が記載されています。御注意
◎本書の内容の一部または全部を無断で転載することは固くお断りします。 ◎本書の内容について、将来改良を目的に予告なしに変更することがあります。 ◎Microsoft、Windows、Windows95/98/Me/NT4.0/2000/XP は、米国 Microsoft Corporation の米国及びその他の国における登録商標または商標です。 ◎その他、記載されている会社名、製品名は、各社の登録商標または商標です。 ◎Insight は GNU GDB をベースにし、Cygwin 上で動作可能なソフトウェアです。 ◎GNU GDB は、フリーソフトウェア財団(Free Software Foundation,FSF)のソフトウェアです。
目 次
1 . はじめに ··· 1
2 . ご注意 ··· 1
3 . デバッグ環境の構築 ··· 2
3.1 Insight のインストール ··· 2
3.2 Insight のアンインストール ··· 4
3.3 アプリケーションのビルド ··· 5
3.4 アプリケーションの起動 ··· 6
3.5 Insight の起動 ··· 7
3.5.1 E-LINK の設定方法 --- 8 3.5.2 RS232C の設定方法 --- 94 . Insight 操作説明 ··· 10
4.1 Source Window ··· 10
4.1.1 メニューバー --- 11 4.1.2 ツールバー --- 16 4.1.3 表示エリアに関する特別な特徴 --- 19 4.1.4 表示エリア内でのマウスの使い方 --- 20 4.1.5 その他のメニュー --- 234.2 Source Window から起動されるダイアログボックス ··· 26
4.2.1 Load New Executable ダイアログボックス --- 26
4.2.2 Choose GDB Command file ダイアログボックス --- 27
目 次
4.3 Stack ウィンドウ ··· 34
4.4 Registers ウィンドウ ··· 35
4.4.1 Register メニュー --- 364.5 Memory ウィンドウ ··· 37
4.5.1 Address メニュー --- 37 4.5.2 Memory Preferences ダイアログボックス--- 384.6 Watch Expressions ウィンドウ ··· 39
4.6.1 Add Watch ボタン --- 41 4.6.2 レジスタの表示 --- 41 4.6.3 ポインタのキャスト --- 414.7 Local Variables ウィンドウ ··· 42
4.7.1 Variable メニュー --- 434.8 Breakpoints ウィンドウ ··· 44
4.8.1 Breakpoints メニュー --- 45 4.8.2 Global メニュー --- 464.9 Console ウィンドウ ··· 47
4.10 Function Browser ウィンドウ ··· 48
4.11 Processes ウィンドウ ··· 50
4.12 Help ウィンドウ ··· 50
1. はじめに
Insight は、GNU General Public License Version 2、GNU LESSER General Public License Version 2 に 従い配布を行っています。 ソフトウェアのライセンス文は Insight のメニュー上で確認することが出来ます。
2. ご注意
使用する FVL/LNX のバージョンによって、使用する Insight のバージョンが違います。 FVL/LNX のバージョン Insight のバージョン Ver 1.00 ~ ver2.xx 5.0 Ver 3.00 ~ 6.8 ご使用の FVL/LNX のバージョンに対応しない Insight をご使用された場合、正常に Insight が動作しませ んので、ご注意ください。3. デバッグ環境の構築
3.1 Insight のインストール
Insight を開発用 PC へインストールする方法を説明します。 下記手順にしたがってインストールを行なってください。 ( 本項では ver3.xx のインストーラー画面での例で説明します。) ① Insight のインストーラーが収められているフォルダを開き、setup.exe を実行します。 ② インストーラーの開始画面が表示されますので、「次へ」をクリックします。 ③ インストールフォルダの選択画面が表示されますので、インストールフォルダを選択後に、 「次へ」をクリックします。(デフォルトでは c:\Program Files\FAST\insight6.8 になります。)
④ インストールの確認画面が表示されますので、「次へ」をクリックします。クリックすると、 インストールが開始されます。
インストールフォルダを選 択します。
3.2 Insight のアンインストール
① windows メニューの「設定」→「コントロールパネル」→「ソフトウェアの追加と削除」を 選択します。 ② insight6.8 を選択し、「削除」ボタンを実行します。 ③ 確認ダイアログが出ますので、「はい」ボタンを押し、実行します。3.3 アプリケーションのビルド
デバッグ時に C 言語ソースコードを表示したい場合は、アプリケーションビルド時にデバッグオプション をつける必要があります。デバッグ時に C 言語ソースコードを表示したい場合は、下記手順に従いデバッ グオプションを有効にしてください。 ① FxccIDE のツールバーから「設定」→「コンパイラ、リンカ設定」の操作で「コンパイラ、リンカ 設定」ウィンドウを起動してください。「コンパイラ、リンカ設定」ウィンドウ
② 「コンパイラ、リンカ設定」ウィンドウの「Option」グループにある「デバッグ」オプションを 有効にして下さい。 ③ FxccIDE のツールバーから「リビルド」を実行します。 デバッグ有効にチェック を入れます。3.4 アプリケーションの起動
アプリケーションをデバッグする場合は FVL/LNX のファイルメニューで「デバッグ」を選択し、リモート デバッグ用の通信方法を設定する必要があります。 ① FVL/LNX のファイルメニューで、デバック対象プログラムを選択し「デバッグ」キーをクリック してください。クリックすると、「通信方法設定ウィンドウ」が起動します。通信方法設定ウィンドウ
デバイス
リモートデバッグ時の通信デバイスを選択します。 ※RS232C 使用時は COM1 を使用します。ポート番号
通信デバイスに「E-LINK」を選択するとアクティブになります。E-LINK 通信時のポート 番号を設定します。ここで指定した番号を Insight のTarget Selection ダイアログボックスで使用します。 ② 設定が完了したら「通信方法設定ウィンドウ」の「実行」キーをクリックしてください。 上記操作が完了すると、FVL/LNX はホストからのデバッグ開始の指示を待機している状態になります。
3.5 Insight の起動
ホストからデバッグ開始の指示を出すには、Insight を起動し、リモートデバッグ用の通信デバイスを設 定する必要があります。 以下に FVL/LNX にデバッグ開始指示を出す手順を記載します。 ■insight の起動 スタートメニューの「すべてのプログラム」より、FAST LNX の insight を起動します。① Insight が起動するとSource Windowが表示されます。
② Source Window のメニューバーから「File」→「Open」と操作して、Load New Executable ダイア ログボックスを起動して、デバッグ対象の実行ファイルを指定してください。
③ Source Window のメニューバーから「File」→「Target Settings」と操作して、Target Selection ダイアログボックスを起動してください。
3.5.1 E-LINK の設定方法
(E-LINK を使用する場合) ・ 「Taget」メニューを「Remote/TCP」に設定します。 ・ 「Hostname」メニューに FVL/LNX の IP アドレスを設定します。 ・ 「Port」メニューに「3.アプリケーションの起動」で設定したポート番号を設定します。 ・ More Options の横の三角ボタンをクリックします。 ・ その他の設定項目に関しては下図を参考にして設定してください。E-LINK を使用する場合のリモートデバッグ用の通信設定例
IP アドレス値を Hostname に 入力します。 FVL/LNX で設定した値 を入力します。3.5.2 RS232C の設定方法
(RS232C を使用する場合) ・ 「Taget」メニューを「Remote/Serial」に設定します。 ・ 「Baud Rate」メニューをシステムメニューで設定されているボーレートの値に設定します。 ・ 「Port」メニューに FVL/LNX の com1 に接続されているシリアルポートを設定します。 ・ More Options の横の三角ボタンをクリックします。 ・ その他の設定項目に関しては下図を参考にして設定してください。RS232C を使用する場合のリモートデバッグ用の通信設定例
⑤ Source Window のメニューバーまたはツールバーから「Run」を選択すると、デバッグ開始指示が出 Windows 側のポート番号に併せて 設定します。 FVL/LNX 側で設定している ボーレートを設定します。 ボーレートの値を Insight の BaudRate に入力します。
4. Insight 操作説明
以降の記述は、Insight 付属の HelpTopics を元に作成させていただきました。
Insight の HelpTopics は実行ファイルに付属しています。Insight 起動後に[Help]→[Help Topics]と お進みください。
Insight が起動されると、最初に Source Window が表示されます。Source Window にはデバック対象プログ ラムのソースコードが表示されており、主に Source Window を使用してデバッグを進めていくことになり ます。 また、Source Window のメニューバー、ツールバーからデバッグをサポートするウィンドウを表示するこ とができます。 本ドキュメントでは、最初に Source Window の使い方(ブレークポイントの設定など)を説明し、以後メニ ューバー、ツールバーから起動される各ウィンドウの説明をしていきます。
4.1 Source Window
Insight が起動されると、最初に Source Window が表示されます。この章では Source Window の使い方に ついて説明します。
4.1.1 メニューバー
Source Window のメニューバーには、File, Run, View, Control, Preferences,Help の 6 個のメニュー があります。以降の説明では、それらのメニューの使い方を順に記載していきます。
4.1.1.1 File
図 2:File メニュー
Open
Load New Executable ダイアログボックスを表示します。
Source
Choose GDB Command File ダイアログボックスを表示します。
もし Source-Navigator を使用している場合は、相互運用を可能にするために本メニューは「Edit Source」となります。
Page Setup
ページ設定ダイアログボックスを表示します。 注:Unix バージョンでは、現在このオプションを利用できません。Print Source
印刷設定ダイアログボックスを表示します。 注:Unix バージョンでは、現在このオプションを利用できません。Target Settings
Target Selection ダイアログボックスを表示します。Exit
Insight を終了します。4.1.1.2 Run
図 3:Run メニュー
Connect to target
Target Selection ダイアログボックスで指定されているターゲットに接続します。設定が何も行 われていない場合には、Target Selection ダイアログボックスを開きます。Download
注:FVL/LNX を使用する場合、本メニューは利用できません。Run
デバック対象のプログラムを起動します。Disconnect
開かれている接続を閉じます。4.1.1.3 View
図 4:View メニュー
Stack
Stack ウィンドウを表示します。Registers
Registers ウィンドウを表示します。Memory
Memory ウィンドウを表示します。Watch Expressions
Watch Expressions ウィンドウを表示します。Local Variables
Local Variables ウィンドウを表示します。Breakpoints
Breakpoints ウィンドウを表示します。Console
Console ウィンドウを表示します。Function Browser
Function Browser ウィンドウを表示します。Thread List
Processes ウィンドウを表示します。 注:本メニューは FVL/LNX では利用できません。4.1.1.4 Control
図 5:Control メニュー
Step
ソースコード中で次に実行可能なラインへ進みます。 次のラインが関数であった場合、コールされた関数内へ進みます。Next
現在のファイル内のソースコード中で次に実行可能なラインへ進みます。 次のラインが関数であった場合、コールされた関数を飛び越します。Finish
現在のフレームの実行を終了します。 もし関数内で本メニューがクリックされると、関数を終了し、関数がコールされたラインへ 戻ります。Continue
ブレークポイント、ウォッチポイントまたはその他の例外に遭遇するまで実行を継続します。 あるいは、実行が完了します。Step Asm Inst
次のアセンブラ命令に進みます。
次の命令がサブルーチンであった場合、サブルーチン内部へ進みます。
Next Asm Inst
次のアセンブラ命令に進みます。
4.1.1.5 Preferences
図 6:Preference メニュー
Global
Global Preferences ダイアログボックスを表示します。Source
Source Preferences ダイアログボックスを表示します。4.1.1.6 Help
図 7:Help メニュー
Help Topics
Help ウィンドウを表示します。About GDB...
バージョンを表示します。4.1.2 ツールバー
図 8:Run ボタン
Run ボタンで実行ファイルを起動します。実行している間はボタンが Stop ボタンに変わります。 もし、Run ボタンを押した時に実行ファイルがロードされていなければ、Target Selection ダイアログボ ックスが表示されます。
図 9:Stop ボタン
中断をサポートするハードウェア及びプロトコルが提供されれば、Stop ボタンでプログラムを中断するこ とができます。ターゲットボードに接続される多くのモニタは、それらのボード上でプログラムを中断す ることは出来ません。その場合、Stop ボタン使用できません。図 10:Step ボタン
ソースコード中で次に実行可能なラインへ進みます。 次のラインが関数であった場合、コールされた関数内へ進みます。図 11:Next ボタン
現在のファイル内のソースコード中で次に実行可能なラインへ進みます。 次のラインが関数であった場合、コールされた関数を飛び越します。図 12:Finish ボタン
現在のフレームの実行を終了します。 もし関数内で本メニューがクリックされると、関数を終了し、関数がコールされたラインへ戻ります。図 13:Continue ボタン
ブレークポイント、ウォッチポイントまたはその他の例外に遭遇するまで実行を継続します。 あるいは、実行が完了します。
図 14:Step assembler instruction ボタン
次のアセンブラ命令に進みます。
次の命令がサブルーチンであった場合、サブルーチン内部へ進みます。
図 15:Next assembler instruction ボタン
次のアセンブラ命令に進みます。 次の命令がサブルーチンであった場合、サブルーチンを実行しそれに続く命令に進みます。
図 16:Registers ボタン
Registers ウィンドウを表示します。図 17:Memory ボタン
Memory ウィンドウを表示します。図 18:Stack ボタン
Stack ウィンドウを表示します。図 19:Watch Expressions ボタン
Watch Expressions ウィンドウを表示します。図 20:Local Variables ボタン
図 21:Breakpoints ボタン
Breakpoints ウィンドウを表示します。図 22:Console ボタン
Console ウィンドウを表示します。 Console ウィンドウは GDB,GNUPro デバッガへのコマンドラインインターフェイスです。図 23:プログラムカウンタ表示
ライン番号表示
プログラムが走行している間、フレームの左側にプログラムカウンタ(PC)、右側にライン番号を 表示します。図 24:Down stackframe ボタン
スタックフレームを 1 段下げます。図 25:Up stackframe ボタン
スタックフレームを 1 段上げます。図 26:Go to bottom of stackframe ボタン
4.1.3 表示エリアに関する特別な特徴
ここでは表示エリアに関するいくつかの特別な特徴について説明します。
• プログラム走行中は、現在のプログラムカウンタの位置が緑色のラインで表示されます。 • プログラムの走行が停止した場合は、背景が紫色に変わります。(ブラウジングモード) • スタックバックトレースを見る場合、背景がやまぶき色に変わります。
4.1.4 表示エリア内でのマウスの使い方
Source Window の主要な表示エリア内には、様々なマウスの使い方があります。 表示エリアは 2 つのカラムに分割されており(参照)、左側のカラムは表示エリアの左端からライン番号の 最後の文字までを占めています。一方、右側のカラムはライン番号の最後の文字から表示エリアの右端ま でを占めています。図 27: ウィンドウ内でのマウスの使い方
各カラム内では、マウスの機能が異なります、以下に右側のカラムに関する機能を記載します。 • 外部または内部変数の上にカーソルを置くことで、変数の現在値が表示されます。 • 構造体またはクラスへのポインタの上にカーソルを置くことで、構造体またはクラスのタイプ およびアドレスを表示します。 • ダブルクリックすることで、マウスの下にある文字列を選択状態にします。 • マウスの下にある文字列を右クリックすると、変数用ポップアップメニューが表示されます。図 28:変数用ポップアップメニュー
注:fnFIE_setup は変数(関数)名です。Add (変数名) to Watch
Watch Expressions ウィンドウを開き、変数表記をリストに加えます。Dump Memory at (変数名)
Memory ウィンドウを開き、メモリダンプを表示します。Set Breakpoint at (変数名)
ブレークポイントを設定します。Open Another Source Window
Source Window をもう 1 枚起動します。
Open Source in external editor
ソースファイルを外部エディタで開きます。
カーソルが実行可能ライン(一番左にマイナス記号が書かれています)上の左側のカラムにある時、カーソ ルは円形に変わります。この状態での機能を下記に記載します。 • 左クリックすると現在のラインにブレークポイントを設定します。ブレークポイントはマイナス 記号の代わりに赤い正方形で現されます。 • 左クリックで既存のまたは仮のブレークポイントを削除します。 • 右クリックでブレークポイント設定用ポップアップメニューを表示します。図 29:ブレーポイント設定用ポップアップメニュー
Continue to here
全てのブレークポイントを無視して、プログラムをこの位置まで走行させます。 本メニュー選択時は、一時的なブレークポイントと同様にオレンジ色の矩形で表示されます。 この選択肢は他の全てのブレークポイントを無効にします。ブレークポイントが無効にされたとき は、ブレークポイントの色が赤またはオレンジから黒に変わります。 注:デバッガは全てのブレークポイントで停止しながら、与えられた位置まで実行すると思われる かもしれませんが、現在のところ、本メニューは全てのブレークポイントで停止せずに強制的 に与えられた位置まで実行します。Jump to here
プログラムを現在の実行位置から、指定された位置までジャンプさせます。 注:FVL/LNX を使用する場合、本メニューは利用できません。Set breakpoint here
カーソル下の実行可能ライン上にブレークポイントを設定します。これはマイナス記号の上で 左クリックをするのと同じ動作です。
Set temporary breakpoint here
カーソル下の実行可能ライン上に仮のブレークポイントを設定します。仮のブレークポイントは オレンジの矩形で表示されます。仮のブレークポイントは、プログラムがその位置に到達すると 自動的に削除されます。
Set Breakpoint on Thread(s)...
カーソル下の実行可能ライン上にスレッド指定ブレークポイントを設定します。 注:FVL/LNX を使用する場合、本メニューは利用できません。
ブレークポイント上で、右クリックを実行するとブレークポイント削除用ポップアップメニューが表示さ れます。
図 30:ブレークポイント削除用ポップアップメニュー
Continue to Here
前述の説明と同様です。Jump to here
前述の説明と同様です。Disable Breakpoint
現在の実行可能ライン上にあるブレークポイントを無効にします。Delete Breakpoint
現在の実行可能ライン上にあるブレークポイントを削除します。 これはブレークポイント上で左クリックするのと同じ動作です。 また、ブレークポイント上にカーソルを移動させると、そのブレークポイントの情報を表示します。4.1.5 その他のメニュー
図 31: ステータスボックス
Source Window の最下部にはデバッガの現在の状態を示した文字列が表示されます。図 31 の例ではプログ ラムが起動されていないことを示しています。図 32: ファイルリストボックス
ファイルリストボックスは、実行モジュールに関連する全ての C 言語ソースファイルとヘッダファイルを 表示します。ダイアログボックスの右側の矢印をクリックしてファイルリストの中からファイルを選択す るか、直接ダイアログボックス内にファイル名を入力することでファイルを選択してください。図 33:関数リストボックス
関数リストボックスは、現在選択されているソースコード、ヘッダファイル内に存在する全ての関数を表 示します。リストボックス内の関数をクリックまたは関数名を直接入力することで関数を選択してくださ い。
図 34:コード表示形式選択ボックス
Source Window 内のコードがどのような形式で表示されるのかを選択します。 コード表示形式選択ボックスに選択可能な表示形式を示します。SOURCE
C 言語ソースコードが表示されます。ASSEMBLY
アセンブラコードが表示されます。MIXED
C 言語ソースコードとアセンブラコードの両方が表示されます。SRC+ASM
C 言語ソースコードとアセンブラコードの両方が、上下 2 つのウィンドウに分割表示されます。 C 言語ソースコードは上のウィンドウ、アセンブラコードは下のウィンドウに表示されます。図 35:文字列サーチボックス
文字列サーチボックスに文字列を入力し「Enter」キーを押すと、その文字列の最初のマッチング例を 探すために前方検索が行なわれます。「Shift」キーと「Enter」キーを同時に押すと、後方検索が行なわれ ます。 以後「Enter」キー(または「Shift」+「Enter」)を押すと、サーチウィンドウ内の前方検索(または後方検 索)を繰り返します。 もし文字列サーチボックス内に「@」と数値を入力すると、コード表示は数値で指定された行に移動しま す。 例えば「@6」と入力すると、文字列サーチボックスの使用例のように 6 行目を表示します。4.2 Source Window から起動されるダイアログボックス
ここでは File,Preferences メニューを経由して、Source Window から起動されるダイアログボックスに ついて説明します。
4.2.1 Load New Executable ダイアログボックス
Load New Executable ダイアログボックスは、Source Window のメニューバーから「File」→「Open」と 操作することで起動されます。このダイアログは、実行ファイルをディレクトリ経由で選択することがで きます。
4.2.2 Choose GDB Command file ダイアログボックス
Choose GDB Command file ダイアログボックスは、Source Window のメニューバーから「File」→「Source」 と操作することで起動されます。このダイアログは、一連の GDB コマンドを含むテキストファイル(それら はコンソールウィンドウ中のコマンドプロンプトで実行するために開かれます)をディレクトリ経由で選 択することができます。
4.2.3 Target Selection ダイアログボックス
Target Selection ダイアログボックスは、Source Window のメニューバーから「File」→「Target Settings」 と操作することで起動されます。このダイアログは、デバッグしたい実行ファイルのターゲットを選択す ることができます。また、ターゲット固有のオプション設定も行なうことができます。
図 39:Target Selection ダイアログボックス
Connection
Connection グループは、ターゲット選択用のドロップダウンリストと、その他に 2 つの ターゲット固有の設定を行なうフィールドを持っています。 ○Target
このリストボックスに含まれる内容は、GDB デバッガのコンフィグレーションに依存します。 デフォルトのコンフィグレーションの場合、このリストには「Exec」(ホスト上で実行)、 「Remote/Serial」(シリアル接続)、「Remote/TCP」(TCP 接続)が含まれます。 もし GDB が特定のハードウェアシミュレータを含むようにコンフィグレーションされていれば、 「Exec」は「Simulator」に置き換えられます。Serial、TCP の両方の通信方法にも特定の ハードウェアの名前が含まれるかもしれません。 注:FVL/LNX と接続する場合は、「Remote/Serial」または「Remote/TCP」のいずれかを選択して ください。○
Baud Rate/Hostname
本メニューは「Target」での選択によって下記のような変化があります。 ・ リモートターゲットとの接続にシリアルが選択された場合、ボーレートを設定します。 ・ リモートターゲットとの接続に TCP が選択された場合、本メニューは「Hostname」に リネームされ、リストボックスがホスト名を指定できるようにテキスト入力フィールドに なります。 ・ 「Simulator」が選択された場合、本メニューは「Options」にリネームされ、Simulator への オプション指定が可能になります。 ○Port
・ リモートターゲットとの接続にシリアルが選択された場合、ホストマシン上のシリアルポート を指定します。 ・ リモートターゲットとの接続に TCP が選択された場合、リモートターゲットのポート番号を指 定します。○
Run until ‘main’
main にブレークポイントを設定し、そのブレークポイントに到達するまで実行します。 (デフォルトで ON)
○
Set breakpoint at ‘exit’
exit ルーチンにブレークポイントを設定します。(デフォルトで ON)
○
Display Download Dialog
ステータスバーに加えて、ダイアログボックスで追加のダウンロード情報を表示します。 リモートターゲットへのダウンロードにシリアルを使う場合に有効です。(デフォルトで OFF)
○
More Options / Fewer Options
ダイアログボックスの下に「起動オプション」を表示するか隠すかを切り替えます。 ○
Attach to Target
リモートターゲットに接続します。 ○Download Program
リモートターゲットに実行ファイルをダウンロードします。 ○Run Program
実行ファイルのデバックプロセスの実行をはじめます。○
Continue from Last Stop
(リモートターゲット上の)実行ファイルがデバッグプロセス中に最後に停止したところから 実行を再開します。
4.2.4 Global Preferences ダイアログボックス
Global Preferences ダイアログボックスは、Source Window のメニューバーから「Preferences」→「Global」 と操作することで起動されます。このダイアログは、表示される文字のフォント、サイズを選択すること ができます。
図 40:Global Preferences ダイアログボックス
Icons
このメニューではデフォルトの「Windows-style icon set」と「Basic icon set」のいずれかを 選択することができます。
図 41:Windows-style icon set
図 42:Basic icon set
Fonts
本メニューではフォントの種類とサイズを選択することができます。 ○Fixed Font
このリストボックスではソースコード表示画面のフォントを選択できます。 ○Default Font
このリストボックスではリストボックス、ボタン、その他のコントロールで使用される文字の フォントを選択できます。○
Status bar Font
4.2.5 Source Preferences ダイアログボックス
Source Preferences ダイアログボックスは、Source Window のメニューバーから「Preferences」→「Source」 と操作することで起動されます。このダイアログでは、ソースコード、デバッグ情報をどのように表示す るかを設定します。
図 43:Source Preferences ダイアログボックス
Colors
色付きの矩形を左クリックすると「Choose Color ダイアログボックス」が開きます。 Choose Color ダイアログボックスでは表示色を自由に変更することができます。Debug Mode
トレースポイント設定を有効にしてコンフィギュレーションしない限り、このメニューは 使用できません。Variable Balloons
このメニューを ON にした場合、マウスが Source Window 内の変数に重なった時にその変数の値を 表示します。(デフォルトで ON)Tab Size
Source Window 内のタブのサイズを設定します。4.2.6 ページ設定ダイアログボックス
ページ設定ダイアログボックスは、Source Window のメニューバーから「File」→「Page Setup」と操作 することで起動されます。このダイアログは、ソースファイルを印刷する前にページレイアウトの選択を することができます。
4.2.7 印刷設定ダイアログボックス
印刷設定ダイアログボックスは、Source Window のメニューバーから「File」→「Print Source」と操作 することで起動されます。このダイアログは、ソースファイルを印刷する前にプリンタの選択、その他の 印刷関連の設定を行なうことができます。
4.3 Stack ウィンドウ
Stack ウィンドウは呼び出しスタックの現在の状態を表示します。ウィンドウ内での各ラインはスタック フレームを表します。図 46:Stack ウィンドウ
フレームをクリックすることで、そのフレームを選択できます。選択されたフレームはフレームの背景が 黄色に変わることで表されます。(スタックフレームの選択を参照) Source Window の表示は、自動的に選択されたフレームに関連するラインに切り替わります。もしそのフ レームがアセンブラ命令の位置を指していれば、Source Window はアセンブラコード表示に切り替わり、 関連するラインの背景も黄色に変わります。図 47:スタックフレームの選択
4.4 Registers ウィンドウ
Registers ウィンドウはダイナミックにレジスタとその内容を更新します。 次ページの「4.4.1 Registers メニュー」ではレジスタ表示形式の変更方法について説明します。図 48:Registers ウィンドウ
・ レジスタ上で左クリックすることで、そのレジスタを選択できます。 ・ レジスタ上で左クリックすることで、レジスタの内容を編集することができます。 「Esc」キーを入力することで編集を中断できます。 ・ レジスタ上で右クリックすることで、レジスタ表示形式メニューが表示されます。4.4.1 Register メニュー
図 49:Group メニュー
どのレジスタを表示するかを選択します。図 50:レジスタ表示形式メニュー
Hex
Demical
Unsigned
レジスタ値の表示形式を選択します。 Hex(16 進数)がデフォルトで選択されますOpen Memory Window
MemoryWindow を表示します。
Add to Watch
WatchWindow に指定のレジスタを登録します。
Remove from Display
選択したレジスタをウィンドウから削除します。全てのレジスタはウィンドウが閉じられ、 再オープンされると描画されます。
4.5 Memory ウィンドウ
Memory ウィンドウはダイナミックにメモリの状態を更新します。 ウィンドウ内でダブルクリックすることによって、各セルに対応した位置のメモリを選択することが できます。図 51:Memory ウィンドウ
4.5.1 Address メニュー
図 52:Address メニュー
Auto Update
ターゲットの状態が変わると Memory ウィンドウの内容は自動的に更新されます。(デフォルト)Update Now
ターゲットのメモリ状態を即座に反映します。Preferences
Memory Preferences ダイアログボックスを起動します。4.5.2 Memory Preferences ダイアログボックス
Memory Preferences ダイアログボックスでは、メモリ状態の表示に関するオプション設定を行ないます。図 53:Memory Preferences ダイアログボックス
Size
個々のセルのメモリサイズを選択します。Format
メモリの表示形式を選択します。Number of Bytes
Memory ウィンドウに表示されるメモリ領域のサイズを設定します。Bytes Per Row
1 行あたりの表示サイズを設定します。
Display ASCII
本メニューを有効にすると、メモリの文字列表記を表示します。
Control Char
4.6 Watch Expressions ウィンドウ
Watch Expressions ウィンドウは指定した変数の名称と現在値を表示します。図 54:Watch Expressions ウィンドウ
・ Watch Expressions ウィンドウ上で変数をクリックすると、その変数を選択できます。 ・ 変数が選択された状態で右クリックすると、Watch メニューが表示されます。
図 56:Watch サブメニュー
Edit
変数の値を編集します。「Esc」キーで編集を中断できます。Format
本メニューの上にマウスを置くと、が表示されます。数値形式メニューでは、選択された変数の 値の表示形式(16 進数、10 進数、8 進数、2 進数)を選択することができます。図 57:数値形式メニュー
デフォルトではポインタは 16 進数で表示されます、その他全ての変数は 10 進数で表示されます。Delete
Watch リストから選択された変数を削除します。4.6.1 Add Watch ボタン
Add Watch ボタンの使い方の左の図のように、ダイアログボックスの下のテキスト入力フィールドに変数 名を入力することが出来ます。入力後、「Add Watch」ボタンか「Enter」キーを押せば、下図の右側の例の ようにリストに変数が加わります。変数名が間違っている場合は無視されます。図 58:Add Watch ボタンの使い方
4.6.2 レジスタの表示
テキスト入力フィールドにレジスタを表す便宜上の変数を入力することで、Watch Expressions ウィンド ウにレジスタを加えることが出来ます。レジスタを表す便宜上の変数は「$」記号とレジスタ名で構成され ます。 例えば、プログラムカウンタを表す便宜上の変数は「$pc」となります。4.6.3 ポインタのキャスト
ポインタは他の型にキャストすることができ、その値はキャスト後の型の内容が表示されます。例えば、 テキスト入力フィールドに ”(struct _foo *) bar” と入力すると、「bar」は構造体_foo のポインタと して扱われます。4.7 Local Variables ウィンドウ
Local Variables ウィンドウは、すべてのローカル変数の現在の値を表示します。図 59:Local Variables ウィンドウ
・ Local Variables ウィンドウ上で変数をクリックすることで、その変数を選択できます。 ・ Local Variables ウィンドウ上で変数をクリックすることで、編集モードに移行します。 ・ 構造体変数の左の「+」記号をクリックすると、構造体の要素が表示されます。構造体の要素が 表示される例を構造体要素の表示に示します。 ・ 展開された構造体の左の「-」記号をクリックすると、構造体の要素が格納されます。図 60:構造体要素の表示
4.7.1 Variable メニュー
図 61:右クリックメニュー
Edit
選択された変数の値を編集することが出来ます。「Esc」キーで編集を中断できます。Delete
選択された変数を LocalVariables ウィンドウから削除します。Format
本メニューの上にマウスを置くとが表示されます。変数表示形式メニューでは、選択された変数 の値の表示形式(16 進数、10 進数、8 進数、2 進数)を選択することができます。図 62:変数表示形式メニュー
デフォルトではポインタは 16 進数で表示されます、その他全ての変数は 10 進数で表示されます。4.8 Breakpoints ウィンドウ
Breakpoints ウィンドウは、現在セットされているすべてのブレークポイントを表示します。 注:C++コードをデバッグする場合は、Breakpoints ウィンドウは正常に動作しない可能性があります。図 63:Breakpoints ウィンドウ
・ Breakpoints ウィンドウ内のチェックボックスにチェックをつけることによって、そのブレークポ イントを選択できます。 ・ チェックボックスのチェックをはずすと、そのブレークポイントは無効になります。 Source Window 内での表示も赤い矩形が黒に変化します。4.8.1 Breakpoints メニュー
図 64:Breakpoints メニュー
Normal
Temporary
この 2 対のメニューは選択されたブレークポイントの設定を「Normal」または「Temporary」に 切り替えます。「Normal」に設定されたブレークポイントは、そのブレークポイントに何回到達 しても有効のまま残ります。一方、「Temporary」に設定されたブレークポイントは、一度その ブレークポイントに到達すると自動的に削除されます。選択されたブレークポイントが現在どち らの設定であるかは、左のチェックマークで表されています。 ブレークポイントが「Temporary」に設定された場合、Breakpoints ウィンドウの赤いチェック マークと Source Window 内でブレークポイントを表す赤い矩形の色がオレンジに変わります。 前述のBreakpoints ウィンドウとブレークポイント設定の結果を比較してください。図 65:ブレークポイント設定の結果
Enabled
Disabled
この 2 対のメニューは選択されたブレークポイントの状態を「有効」または「無効」に切り替え ます。選択されたブレークポイントが現在どちらの設定であるかは、左のチェックマークで表 されています。Remove
選択されたブレークポイントを削除します。4.8.2 Global メニュー
図 66:Global メニュー
Disable All
すべてのブレークポイントを無効にします。Enable All
すべてのブレークポイントを有効にします。Remove All
すべてのブレークポイントを削除します。4.9 Console ウィンドウ
Console ウィンドウではコマンドラインインターフェイスを通してデバッガにアクセスすることが 出来ます。 下図に表示されている「(gdb)」はデバッガのプロンプトです。図 67:Console ウィンドウ
重要!
Console ウィンドウは Windows オペレーティングシステムのコンソールウィンドウとは 異なります。4.10 Function Browser ウィンドウ
Function Browser ウィンドウは、Source Window のメニューバーから「View」→「Function Browser」と 操作することで起動されます。
図 68:Function Browser ウィンドウ
Filter
Function Browser ウィンドウの一番上にある「Filter」メニューグループには、 「Show if function」リストとテキスト入力フィールドが含まれます。
Show if function
このリストにはテキスト入力フィールドに入力された文字列を探すための 4 つの選択があります。図 69:Show if function ドロップダウンリスト
starts with
テキスト入力フィールドに入力した文字列から始まる関数を表示します。contains
テキスト入力フィールドに入力した文字列を含む関数を表示します。ends with
テキスト入力フィールドに入力した文字列で終了する関数を表示します。matches regexp
探索ルーチンに正規表現一致を使用させます。例えば、”^[ab].*”を探索させると’a’ または’b’で始まるすべての関数を表示します。Files
探索対象をハイライト表示されているファイルのみに限定します。ファイルの選択状態は個々の ファイル名をクリックすることで切り替えることが出来ます。いずれかのサーチパラメータが 変更された時、探索リストは更新されます。Hide .h files
チェックするとヘッダファイルを表示しなくなります。Select All
リストされているファイルすべてを選択します。Functions
選択したファイル内で条件が一致した関数が表示されます。Breakpoints
「Delete」または「Set」ボタンはブレークポイントの削除、設定をすることが出来ます。Delete
選択された関数の最初の実行可能ラインに設定されたブレークポイントを削除します。Set
4.11 Processes ウィンドウ
Processes ウィンドウはシステム内でのスレッドの動作状態を動的に更新します。 注:本メニューは FVL/LNX では利用できません。図 70: Process ウィンドウ
Processes ウィンドウはスレッドまたはプロセスのリストを表示します。その正確な内容はそれぞれの オペレーティングシステムに依存します。 Threads ウィンドウは、デバック対象の実行可能モジュールの一部であるスレッドやプロセスの情報を 表示するリストボックスで構成されます。最初の行は、スレッドを追跡するために GDB によって内部的に 使用される、GDB スレッド番号が表示されています。 この番号はコマンドラインインターフェイス(Console ウィンドウ)からもスレッド参照時に使用されます。 残りの行は、オペレーティングシステムから得られる情報に依存します。 Source Window は、現在のスレッド(またはプロセス)の現在位置とソースコードを表示します。現在の スレッドを変更するには、Processes ウィンドウ内で変更したいスレッドをクリックしてください。 そうすれば、デバッガはウィンドウをすべて更新しコンテキストを切り替えるでしょう。現在のスレッド がハイライト表示されるはずです。 ラインまたは関数上にブレークポイントを設定された場合、その位置を通過するすべてのスレッドは実行 を停止し、制御をデバッガに戻します。特定のスレッドのみにブレークポイントを設定する場合は、Source Window 上で「Set Breakpoint on Thread(s)...」のメニューを使用する必要があります。4.12 Help ウィンドウ
Help ウィンドウは、Source Window のメニューバーから「Help」→「Help Topics」と操作することで 起動されます。Help ウィンドウは、HTML ベースで Help 情報を提供します。