メモリ パネル


メモリの内容の表示,変更を行います(「2.11.1 メモリを表示/変更する」参照)。

このパネルは,最大4個までオープンすることができます。各パネルは,タイトルバーの“メモリ1”,“メモリ2”,“メモリ3”,“メモリ4”の名称で識別されます。

プログラムの実行後,メモリの値が変化すると表示を自動的に更新します(ステップ実行時には,ステップ実行ごとに表示を逐次更新)。

また,リアルタイム表示更新機能を有効にすることにより,プログラム実行中であっても,値の表示をリアルタイムに更新することも可能です。

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

備考

ツールバーの[表示]→ ボタンをクリックすることによりオープンするスクロール範囲設定 ダイアログにより,このパネルの垂直スクロール・バーのスクロール範囲を設定することができます。

図 A.23

メモリ パネル

 

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

[オープン方法]

-

[表示]メニュー→[メモリ]→[メモリ1〜4]を選択

[各エリアの説明]

(1)

表示位置指定エリア

アドレス式を指定することにより,メモリ値の表示開始位置を指定することができます。

次の指定を順次行います。

(a)

アドレス式の指定

表示したいメモリ値のアドレスとなるアドレス式をテキスト・ボックスに直接入力します。最大1024文字までの入力式を指定することができ,その計算結果を表示開始位置アドレスとして扱います。

ただし,マイクロコントローラのアドレス空間よりも大きいアドレス式を指定することはできません。

備考 1.

このテキスト・ボックスで[Ctrl]+[Space]キーを押下することにより,現在のキャレット位置のシンボル名を補完することができます(「2.20.2 シンボル名の入力補完機能」参照)。

備考 2.

指定したアドレス式がシンボルを表現し,サイズが判明する場合では,そのシンボルの先頭アドレスから終了アドレスまでを選択状態で表示します。

(b)

アドレス式の自動/手動評価の指定

表示開始位置を変更するタイミングは,[停止時に移動]チェック・ボックスの指定,および[移動]ボタンにより決定します。

[停止時に移動]

 

プログラム停止後,自動的にアドレス式の評価を行い,その計算結果のアドレスにキャレットが移動します。

 

プログラム停止後,アドレス式の評価を自動的に行いません。

この場合,[移動]ボタンをクリックすることにより,アドレス式の評価を行います。

[移動]

[停止時に移動]チェック・ボックスのチェックをしなかった場合,このボタンをクリックすることによりアドレス式の評価を行い,その計算結果のアドレスにキャレットが移動します。

(2)

アドレス・エリア

メモリのアドレスを表示します(16進数表記固定)。

デフォルトで,0x0番地より表示を開始します。

ただし,コンテキスト・メニューの[表示アドレス・オフセット値の設定...]を選択することでオープンするアドレス・オフセット設定 ダイアログにより,開始アドレスにオフセット値を設定することができます。

アドレス幅は,プロジェクトで指定しているマイクロコントローラのメモリ空間のアドレス幅となります。

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

注意

設定されたオフセット値は,メモリ値エリアの表示桁数の指定に従って自動的に変更されます。

(3)

メモリ値エリア

マイクロコントローラにマッピングされているプログラム用のメモリ値を表示/変更します。

メモリ値の表示進数/表示幅/表示桁の指定は,ツールバーのボタン,またはコンテキスト・メニューの[表記]/[サイズ表記]/[表示]の選択により行います(「2.11.1.2 値の表示形式を変更する」参照)。

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

表示例(デフォルト)

説明

 

文字色

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

背景色

標準色

 

(下線)

文字色

標準色

シンボルが定義されているアドレスのメモリ値(ウォッチ式の登録を行うことができます)

背景色

標準色

 

文字色

茶色

プログラムの実行により,値が変化したメモリ値注1

ツールバーの ボタンをクリックすると,強調表示をリセットします。

背景色

クリーム

 

文字色

ピンク

リアルタイム表示更新機能を行っているメモリ値

背景色

標準色

 

文字色

標準色

リード/フェッチ

リアルタイム表示更新機能を行っている場合,現在のメモリ値のアクセス状態

背景色

薄緑

 

文字色

標準色

ライト

背景色

オレンジ

 

文字色

標準色

リードとライト

背景色

薄青

 

文字色

ロスト

背景色

ライトグレー

 

文字色

グレー

リード不可の領域のメモリ値

背景色

標準色

 

文字色

グレー

メモリがマッピングされていない領域,書き換え不可能領域(IOレジスタ領域/I/O保護領域注2など),またはメモリ値の取得に失敗した場合

背景色

標準色

**

文字色

標準色

プログラム実行中に,リアルタイム表示更新領域以外の領域を表示指定した場合,またはメモリ値の取得に失敗した場合

背景色

標準色

注 1.

プログラム実行直前において,メモリ パネルで表示されていたアドレス範囲のメモリ値のみが対象となります。また,プログラムの実行前後での値の比較であるため,実行結果が同一値となった場合は強調表示を行いません。

注 2.

【E1】【E20】【EZ Emulator】
I/O保護領域は,“00”と表示されます。

注意

このエリアの表示桁数は,コンテキスト・メニューの[サイズ表記]の指定に従って自動的に変更します。

 

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

(a)

ポップアップ表示

メモリ値にマウス・カーソルを重ねることにより,マウス・カーソルが指しているアドレスに対して前方向に存在する一番近いシンボルを基準にして,次の内容をポップアップ表示します。

ただし,シンボル情報が存在しない場合(下線が非表示の場合)はポップアップ表示は行いません。

シンボル名

シンボル名を表示します。

オフセット値

アドレスにシンボルが定義されていない場合は,前方向に存在する一番近いシンボルからのオフセット値を表示します(16進数表示固定)。

(b)

リアルタイム表示更新機能

リアルタイム表示更新機能を使用することにより,プログラムが停止している状態の時だけでなく,実行中の状態であっても,メモリ値の表示/変更を行うことができます。

リアルタイム表示更新機能についての詳細は,「2.11.1.4 プログラム実行中にメモリの内容を表示/変更する」を参照してください。

(c)

メモリ値の変更

メモリ値の変更は,対象メモリ値にキャレットを移動したのち,直接キーボードより編集することで行います。

メモリ値を編集すると変更箇所の表示色が変化し,この状態で[Enter]キーを押下することにより変更した値がターゲット・メモリに書き込まれます([Enter]キーの押下前に[Esc]キーを押下すると編集をキャンセルします)。

メモリ値の変更方法についての詳細は,「2.11.1.3 メモリの内容を変更する」を参照してください。

(d)

メモリ値の検索/初期化

コンテキスト・メニューの[検索...]を選択することにより,指定したアドレス範囲のメモリ内容を検索するためのメモリ検索 ダイアログをオープンします(「2.11.1.5 メモリの内容を検索する」参照)。

また,コンテキスト・メニューの[初期化...]を選択することにより,指定したアドレス範囲のメモリ内容を一括して変更するためのメモリ初期化 ダイアログをオープンします(「2.11.1.6 メモリの内容を一括して変更(初期化)する」参照)。

(e)

コピー/貼り付け

メモリ値をマウスにより範囲選択することで,その箇所の内容を文字列としてクリップ・ボードにコピーすることができ,その内容をキャレット位置に貼り付けることができます。

これらの操作は,コンテキスト・メニューの選択,または[編集]メニューの選択により行います。

ただし,貼り付け操作は,貼り付け対象の文字列とそのエリアの表示形式(表示進数/ビット幅)が一致する場合のみ可能です(表示形式が一致しない場合は,メッセージを表示します)。

なお,このエリアで扱うことができる文字コードと文字列は次のとおりです(これ以外の文字列を貼り付けた場合は,メッセージを表示します)。

文字コード

ASCII

文字列

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, A, B, C, D, E, F

(f)

ウォッチ式の登録

シンボルが定義されているアドレスでは,メモリ値に下線が表示され,ウォッチ式として登録可能であることを示します。

このメモリ値を選択,またはメモリ値のいずれかにキャレットを置いた状態で,コンテキスト・メニューの[ウォッチ1に登録]を選択することにより,指定したアドレスのシンボル名がウォッチ式としてウォッチ パネル(ウォッチ1)に登録されます。

注意

下線表示のないメモリ値をウォッチ式に登録することはできません。

(g)

メモリ値の保存

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

メモリ値の保存方法についての詳細は,「2.11.1.7 メモリの表示内容を保存する」を参照してください。

(h)

表示の拡大/縮小

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

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

-

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

-

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

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

(4)

文字列エリア

メモリの値を文字コードに変換して表示します。

文字コードの指定は,ツールバーのボタンのクリック,またはコンテキスト・メニューの[エンコード]の選択により行います(デフォルトではASCIIコードで表示します)。

また,このエリアでは,メモリ値を浮動小数点数値に変換して文字列として表示することができます。この場合は,コンテキスト・メニューの[エンコード]より次の項目の選択を行ってください。

項目

表記

サイズ

Half-Precision Float

半精度浮動小数点数

16ビット

数値

符号><仮数部>e<符号><指数部

無限大

Inf,および-Inf

非数

NaN

+ 1.234e+1

Float

単精度浮動小数点数

32ビット

数値

符号><仮数部>e<符号><指数部

無限大

Inf,および-Inf

非数

NaN

+1.234567e+123

Double

倍精度浮動小数点数

64ビット

数値

符号><仮数部>e<符号><指数部

無限大

Inf,および-Inf

非数

NaN

+1.2345678901234e+123

Float Complex

単精度浮動小数点数の複素数

64ビット

単精度浮動小数点数><単精度浮動少数点数>*1

Double Complex

倍精度浮動小数点数の複素数

128ビット

倍精度浮動小数点数><倍精度浮動少数点数>*1

Float Imaginary

単精度浮動少数点の虚数

32ビット

単精度浮動小数点数>*1

Double Imaginary

倍精度浮動小数点数の虚数

64ビット

倍精度浮動少数点数>*1

注意

指定されている文字コード,または浮動小数点数値の最小サイズが“表示バイト数×表示桁数バイト数”より大きい場合,このエリアには何も表示されません。

 

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

(a)

文字列の変更

現在,文字コードとして[ASCII]が指定されている場合のみ,文字列を変更することができます。

文字列の変更は,対象文字列にキャレットを移動したのち,直接キーボードより編集することで行います。

文字列を編集すると変更箇所の表示色が変化し,この状態で[Enter]キーの押下することにより変更した値がターゲット・メモリに書き込まれます([Enter]キーの押下前に[Esc]キーを押下すると編集をキャンセルします)。

注意

浮動少数点数値表示している文字列を変更することはできません。

(b)

文字列の検索

コンテキスト・メニューの[検索...]を選択することにより,文字列を検索する為の メモリ検索 ダイアログをオープンします(「2.11.1.5 メモリの内容を検索する」参照)。

(c)

コピー/貼り付け

文字列をマウスにより範囲選択することで,その箇所の内容を文字列としてクリップ・ボードにコピーすることができ,その内容をキャレット位置に貼り付けることができます。

これらの操作は,コンテキスト・メニューの選択,または[編集]メニューの選択により行います。

ただし,貼り付け操作は,文字コードとしてASCIIが指定されている場合のみ可能です(ASCII以外が指定されている場合は,メッセージを表示します)。

[ツールバー]

 

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

 

プログラム実行により値が変化した箇所を示す強調表示をリセットします。

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

表記

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

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

 

16進数

メモリ値を16進数で表示します(デフォルト)。

符号付き10進数

メモリ値を符号付き10進数で表示します。

符号無し10進数

メモリ値を符号なし10進数で表示します。

8進数

メモリ値を8進数で表示します。

2進数

メモリ値を2進数で表示します。

サイズ表記

メモリ値のサイズの表示形式を変更する次のボタンを表示します。

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

 

4ビット

メモリ値を4ビット幅で表示します。

1バイト

メモリ値を8ビット幅で表示します(デフォルト)。

2バイト

メモリ値を16ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

4バイト

メモリ値を32ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

8バイト

メモリ値を64ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

エンコード

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

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

 

ASCII

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

Shift_JIS

文字列をShift_JISコードで表示します。

EUC-JP

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

UTF-8

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

UTF-16

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

Half-Precision Float

文字列を半精度浮動小数点数値で表示します。

Float

文字列を単精度浮動小数点数値で表示します。

Double

文字列を倍精度浮動小数点数値で表示します。

Float Complex

文字列を単精度浮動少数点数の複素数で表示します。

Double Complex

文字列を倍精度浮動少数点数の複素数で表示します。

Float Imaginary

文字列を単精度浮動小数点数の虚数で表示します。

Double Imaginary

文字列を倍精度浮動小数点数の虚数で表示します。

表示

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

 

スクロール範囲を設定...

スクロール範囲を設定するためのスクロール範囲設定 ダイアログがオープンします。

表示桁数を設定...

メモリ値エリアの表示桁数を変更するため,表示桁数設定 ダイアログがオープンします。

表示アドレス・オフセット値を設定...

アドレス・エリアに表示するアドレスおよびオフセット値を設定するため,アドレス・オフセット設定 ダイアログがオープンします。

[[ファイル]メニュー(メモリ パネル専用部分)]

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

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

メモリ・データを保存

メモリの内容を前回保存したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存します(「(g) メモリ値の保存」参照)。

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

名前を付けてメモリ・データを保存...

メモリの内容を指定したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存するために,データ保存 ダイアログをオープンします(「(g) メモリ値の保存」参照)。

[[編集]メニュー(メモリ パネル専用部分)]

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

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

コピー

選択している範囲を文字列としてクリップ・ボードにコピーします。

貼り付け

クリップ・ボードにコピーされている文字列をキャレット位置に貼り付けます。

-

メモリ値エリアに貼り付ける場合: 「(e) コピー/貼り付け」参照

-

文字列エリアに貼り付ける場合: 「(c) コピー/貼り付け」参照

検索...

メモリ検索 ダイアログをオープンします。

検索対象となる箇所は,メモリ値エリア文字列エリアのうち,キャレットのあるエリア内となります。

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

ウォッチ1に登録

キャレット位置のシンボルをウォッチ パネル(ウォッチ1)に登録します。

ウォッチ式として登録される際は変数名として登録されるため,スコープにより表示されるシンボル名は変化します。

ただし,キャレット位置のメモリ値に対応するアドレスにシンボルが定義されていない場合は無効となります(「(f) ウォッチ式の登録」参照)。

検索...

メモリ検索 ダイアログをオープンします。

検索対象となる箇所は,メモリ値エリア文字列エリア(浮動小数点数値表示を選択している場合を除く)のうち,キャレットのあるエリア内となります。

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

初期化...

メモリ初期化 ダイアログをオープンします。

最新の情報に更新

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

コピー

選択している範囲を文字列としてクリップ・ボードにコピーします。

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

貼り付け

クリップ・ボードにコピーされている文字列をキャレット位置に貼り付けます。

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

-

メモリ値エリアに貼り付ける場合: 「(e) コピー/貼り付け」参照

-

文字列エリアに貼り付ける場合: 「(c) コピー/貼り付け」参照

表記

メモリ値エリアの表示進数を指定するため,次のカスケード・メニューを表示します。

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

 

16進数

メモリ値を16進数で表示します(デフォルト)。

符号付き10進数

メモリ値を符号付き10進数で表示します。

符号なし10進数

メモリ値を符号なし10進数で表示します。

8進数

メモリ値を8進数で表示します。

2進数

メモリ値を2進数で表示します。

サイズ表記

メモリ値エリアの表示幅を指定するため,次のカスケード・メニューを表示します。

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

 

4ビット

メモリ値を4ビット幅で表示します。

1バイト

メモリ値を8ビット幅で表示します(デフォルト)。

2バイト

メモリ値を16ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

4バイト

メモリ値を32ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

8バイト

メモリ値を64ビット幅で表示します。

対象メモリ領域のエンディアンに従って値を変換します。

エンコード

文字列エリアの表示形式を指定するため,次のカスケード・メニューを表示します。

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

 

ASCII

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

Shift_JIS

文字列をShift_JISコードで表示します。

EUC-JP

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

UTF-8

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

UTF-16

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

Half-Precision Float

文字列を半精度浮動小数点数値で表示します。

Float

文字列を単精度浮動小数点数値で表示します。

Double

文字列を倍精度浮動少数点数値で表示します。

Float Complex

文字列を単精度浮動小数点数の複素数で表示します。

Double Complex

文字列を倍精度浮動小数点数の複素数で表示します。

Float Imaginary

文字列を単精度浮動少数点数の虚数で表示します。

Double Imaginary

文字列を倍精度浮動小数点数の虚数で表示します。

表示

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

 

スクロール範囲を設定...

スクロール範囲を設定するためのスクロール範囲設定 ダイアログがオープンします。

表示桁数を設定

メモリ値エリアの表示桁数を設定するため,表示桁数設定 ダイアログがオープンします。

表示アドレス・オフセット値を設定

アドレス・エリアに表示するアドレスのオフセット値を設定するため,アドレス・オフセット設定 ダイアログがオープンします。

強調表示

チェックすることにより,プログラムの実行により値が変更されたメモリ値を強調表示します(デフォルト)。

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

リアルタイム表示更新設定

リアルタイム表示更新設定のため,次のカスケード・メニューを表示します(「(b) リアルタイム表示更新機能」参照)。

 

リアルタイム表示更新全体設定

リアルタイム表示更新機能の全般設定を行うため,プロパティ パネルをオープンします。