ローカル変数 パネル


ローカル変数の内容の表示,および値の変更を行います(「2.11.5 ローカル変数を表示/変更する」参照)。

なお,このパネルは,デバッグ・ツールと接続時のみオープンすることができます。

注意 1.

プログラム実行中は,このパネルには何も表示されません。プログラムの実行が停止したタイミングで,各エリアの表示を行います。

注意 2.

コンパイラによる最適化のため,対象となる変数を使用していないブロックでは変数データがスタック/レジスタに存在しない場合があります。この場合は対象となる変数は表示されません。

備考

パネル上の各エリアの区切り線をダブルクリックすることにより,該当エリアの内容を省略することなく表示可能な最小幅に変更することができます。

図 A.12

ローカル変数 パネル

 

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

[オープン方法]

-

[表示]メニュー→[ローカル変数]を選択

[各エリアの説明]

(1)

スコープ・エリア

表示するローカル変数のスコープをドロップダウン・リストにより選択します。

選択できる項目は次のとおりです。

項目

動作

カレント

カレントPC値のスコープでのローカル変数を表示します。

深さ> < 関数名()[ファイル名#行番号]>

呼び出し元の関数のスコープでのローカル変数を表示します。

プログラム実行後,選択したスコープが存在するかぎり,ここで選択したスコープを保ちます。

コール・スタック パネルで表示している関数呼び出し元を表示します。

(2)

[名前]エリア

ローカル変数名や関数名を表示します。関数の引数もローカル変数として表示します。

また,配列,ポインタ型変数,構造体/共用体は,階層構造をツリー形式で表示します。

このエリアを編集することはできません。

表示される各アイコンの意味は次のとおりです。

 

変数を示します。

Auto変数,内部スタティック変数,Register変数の表示も行います

配列,ポインタ型変数,構造体/共用体は,階層構造をツリー形式で表示します。

先頭に“+”マークがある場合は,これをクリックすることにより次を展開表示します(展開後“-”マークに変化)。

配列

配列中の全要素

ポインタ型変数

ポインタが指し示す先の変数

なお,ポインタが指し示す先がポインタの場合は,さらに“+”マークを付与し,これをクリックすることにより参照先を表示します。

ただし,ポインタの指す値が不明な場合は,“?”を表示します。

構造体/共用体

構造体/共用体の全メンバ

 

引数を示します。

 

関数を示します。

Auto 変数を表示する場合,関数のプロローグ(関数の“{”)やエピローグ(関数の“}”)ではローカル変数の正確な値を表示することができません(Auto 変数のアドレスは,スタック・ポインタ(SP)からの相対アドレスとなり,関数内でSP の値が確定するまで確定しません。プロローグやエピローグではSP の操作が行われており,SPの値が確定していません。このため,プロローグやエピローグでは正確な値の表示ができません)。

 

このエリアは,次の機能を備えています。

(a)

ウォッチ式の登録

C言語変数をウォッチ式としてウォッチ パネルに登録することができます。

操作方法についての詳細は,「2.11.6.1 ウォッチ式を登録する」を参照してください。

備考

登録したウォッチ式には,自動的にスコープ指定が付与されます。

(b)

メモリへのジャンプ

コンテキスト・メニューの[メモリへジャンプ]を選択することにより,選択しているローカル変数が配置されているアドレスにキャレットを移動した状態でメモリ パネル(メモリ1)がオープンします(すでにオープンしている場合はメモリ パネル(メモリ1)にジャンプ)。

(c)

表示の拡大/縮小

ローカル変数 パネルにフォーカスがある状態で,メイン・ウインドウのツールバー上にある拡大率のドロップダウン・リストを変更することにより,ローカル変数 パネルの表示を拡大/縮小することができます。

また,[Ctrl]キーとマウス・ホイールを組み合わせることでも変更可能です。

-

[Ctrl]キーを押下しながらマウス・ホイールを前方に動かすと,ローカル変数 パネルの表示を拡大し,表示が大きく見やすくなります(最大300%)。

-

[Ctrl]キーを押下しながらマウス・ホイールを後方に動かすと,ローカル変数 パネルの表示を縮小し,表示が小さくなります(最小50%)。

 

なお,拡大率を変更した状態のパネルをクローズした場合,拡大率は保持されます(再度パネルをオープンする際に,変更した拡大率でオープンします)。

(3)

[値]エリア

ローカル変数の値を表示/変更します。

表示進数や文字列のエンコードは,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。また,常に16進数表示を併記する表示形式を選択することもできます。

ローカル変数の値として表示されるマークや色の意味は次のとおりです(表示の際の文字色/背景色はオプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存)。

表示例(デフォルト)

説明

 

文字色

青色

ユーザにより,値が変更されているローカル変数値([Enter]キーによりターゲット・メモリに書き込まれます)

背景色

標準色

 

文字色

茶色

プログラムの実行により,値が変化したローカル変数値

プログラムを再び実行することにより,強調色がリセットされます。

背景色

クリーム

?

文字色

グレー

ローカル変数の値を取得できない場合

背景色

標準色

プログラムの実行開始位置からブレークした位置で同じ変数名を表示していて,かつ,その変数値が変化している場合が対象となります。

 

このエリアは,次の機能を備えています。

(a)

ローカル変数値/引数値の変更

ローカル変数値,および引数値の変更は,対象ローカル変数値を選択したのち,再度クリックし,キーボードからの直接入力により行います([Esc]キーの押下で編集モードをキャンセルします)。

ローカル変数値,および引数値を編集したのち,[Enter]キーの押下,または編集領域以外へのフォーカスの移動により,デバッグ・ツールのターゲット・メモリに書き込まれます。

ローカル変数値/引数値の変更方法についての詳細は,「2.11.5.2 ローカル変数の内容を変更する」を参照してください。

(b)

ローカル変数値の保存

[ファイル]メニュー→[名前を付けてローカル変数データを保存...]を選択することにより,名前を付けて保存 ダイアログをオープンし,このパネルのすべての内容をテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存することができます。

ローカル変数値の保存方法についての詳細は,「2.11.5.3 ローカル変数の表示内容を保存する」を参照してください。

(4)

[型情報(バイト数)]エリア

ローカル変数の型名を表示します。表記はC言語の記述に従います。

配列の場合は“[ ]”内に要素数を,関数の場合は“()”内にサイズ(バイト数)を付与して表示します。

なお,このエリアを編集することはできません。

(5)

[アドレス]エリア

ローカル変数のアドレスを表示します。変数がレジスタに割り当てれられている場合は,レジスタ名を表示します。

このエリアを編集することはできません。

[ツールバー]

ツールバーの各ボタンは,プログラム実行中は無効となります。

 

デバッグ・ツールから最新の情報を取得し,表示を更新します。

表記

値の表示形式を変更する次のボタンを表示します。

 

自動

このパネル上の値の表記を変数ごとの規定値で表示します。

16進数

このパネル上の値を16進数で表示します。

10進数

このパネル上の値を10進数で表示します。

8進数

このパネル上の値を8進数で表示します。

2進数

このパネル上の値を2進数で表示します。

配列のインデックスを10進数表記

このパネル上の配列のインデックスを10進数で表示します(デフォルト)。

配列のインデックスを16進数表記

このパネル上の配列のインデックスを16進数で表示します。

Float

このパネル上の値をFloatで表示します。

ただし,4バイト・データ以外,または型情報を持つ場合は,規定値で表示します。

Double

このパネル上の値をDoubleで表示します。

ただし,8バイト・データ以外,または型情報を持つ場合は,規定値で表示します。

 

値表示の末尾に,その値の16進数表記を“()”で囲んで併記します。

エンコード

文字列変数のエンコードを変更する次のボタンを表示します。

 

ASCII

文字列変数をASCIIコードで表示します。

Shift_JIS

文字列変数をShift_JISコードで表示します(デフォルト)。

EUC-JP

文字列変数をEUC-JPコードで表示します。

UTF-8

文字列変数をUTF-8コードで表示します。

UTF-16

文字列変数をUTF-16コードで表示します。

[[ファイル]メニュー(ローカル変数 パネル専用部分)]

ローカル変数 パネル専用の[ファイル]メニューは次のとおりです(その他の項目は共通)。

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

ローカル変数データを保存

このパネルの内容を前回保存したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存します(「(b) ローカル変数値の保存」参照)。

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

名前を付けてローカル変数データを保存...

このパネルの内容を指定したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存するために,名前を付けて保存 ダイアログをオープンします(「(b) ローカル変数値の保存」参照)。

[[編集]メニュー(ローカル変数 パネル専用部分)]

ローカル変数 パネル専用の[編集]メニューは次のとおりです(その他の項目はすべて無効)。

コピー

選択している行の内容,または文字列をクリップ・ボードにコピーします。

すべて選択

項目をすべて選択状態にします。

名前の変更

選択しているローカル変数の値を変更するために,編集モードに移行します(「2.11.5.2 ローカル変数の内容を変更する」参照)。

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

検索...

検索・置換 ダイアログを[一括検索]タブが選択状態でオープンします。

置換...

検索・置換 ダイアログを[一括置換]タブが選択状態でオープンします。

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

コンテキスト・メニューの各項目は,プログラム実行中は無効となります。

ウォッチ1に登録

選択しているローカル変数をウォッチ パネル(ウォッチ1)に登録します。

コピー

選択している行の内容,または文字列をクリップ・ボードにコピーします。

表記

表示形式を指定するために,次のカスケード・メニューを表示します。

 

自動

このパネル上の値の表記を変数ごとの規定値で表示します(デフォルト)。

16進数

このパネル上の値を16進数で表示します。

10進数

このパネル上の値を10進数で表示します。

8進数

このパネル上の値を8進数で表示します。

2進数

このパネル上の値を2進数で表示します。

配列のインデックスを10進表記

このパネル上の配列のインデックスを10進数で表示します(デフォルト)。

配列のインデックスを16進表記

このパネル上の配列のインデックスを16進数で表示します。

Float

このパネル上の値をFloatで表示します。

ただし,4バイト・データ以外,または型情報を持つ場合は,規定値で表示します。

Double

このパネル上の値をDoubleで表示します。

ただし,8バイト・データ以外,または型情報を持つ場合は,規定値で表示します。

16進数値を併記

値表示の末尾に,その値の16進数表記を“()”で囲んで併記します。

エンコード

文字コードを指定するため,次のカスケード・メニューを表示します。

 

ASCII

文字列変数をASCIIコードで表示します。

Shift_JIS

文字列変数をShift_JISコードで表示します(デフォルト)。

EUC-JP

文字列変数をEUC-JPコードで表示します。

UTF-8

文字列変数をUTF-8コードで表示します。

UTF-16

文字列変数をUTF-16コードで表示します。

メモリへジャンプ

選択している行が示すアドレスにキャレットを移動した状態で,メモリ パネル(メモリ1)がオープンします。