2. 機 能
2.9 メモリ,レジスタ,変数の表示/変更
2.9.1 メモリを表示/変更する
2.9.1.7 メモリの表示内容を保存する
2.9.1.1 表示位置を指定する
表示位置指定エリアにアドレス式を指定することにより,メモリ値の表示開始位置を指定することができます(デ フォルトでは,0x0番地より表示を開始します)。
備考 コンテキスト・メニューの[表示アドレス・オフセット値を設定...]を選択することでオープンする アドレス・オフセット設定 ダイアログにより,メモリ値の表示開始アドレスにオフセット値を設定す ることができます。
図 2.87 表示位置指定エリア(メモリ パネル)
(2) (3)
(1)
ツールバー
表示位置指定エリア
(1) アドレス式の指定
表示したいメモリ値のアドレスとなるアドレス式をテキスト・ボックスに直接入力します。最大1024文字まで の入力式を指定することができ,その計算結果を表示開始位置アドレスとして扱います。
なお,マイクロコントローラのアドレス空間よりも大きいアドレス式が指定された場合は,上位のアドレス値を マスクして扱います。
ただし,32ビットで表現できる値より大きいアドレス式を指定することはできません。
備考 1. このテキスト・ボックスで[Ctrl]+[Space]キーを押下することにより,現在のキャレット位 置のシンボル名を補完することができます(「2.18.2 シンボル名の入力補完機能」参照)。 備考 2. 指定したアドレス式がシンボルを表現し,サイズが判明する場合では,そのシンボルの先頭アド
レスから終了アドレスまでを選択状態で表示します。
(2) アドレス式の自動/手動評価の指定
表示開始位置を変更するタイミングは,[停止時に移動]チェック・ボックスの指定,および[移動]ボタンに より決定します。
2.9.1.2 値の表示形式を変更する
ツールバーの次のボタンにより,このパネルのアドレス・エリア/メモリ値エリア/文字列エリアの表示形式を変更 することができます。
[停止時に移動] プログラム停止後,自動的にアドレス式の評価を行い,その計算結果のアドレスに キャレットが移動します。
プログラム停止後,アドレス式の評価を自動的に行いません。
この場合,[移動]ボタンをクリックすることにより,アドレス式の評価を行いま す。
[移動] [停止時に移動]チェック・ボックスのチェックをしなかった場合,このボタンをク リックすることによりアドレス式の評価を行い,その計算結果のアドレスにキャ レットが移動します。
表記 メモリ値の表示形式を変更する次のボタンを表示します。
16進数 メモリ値を16進数で表示します(デフォルト)。
符号付き10進数 メモリ値を符号付き10進数で表示します。
符号無し10進数 メモリ値を符号なし10進数で表示します。
8進数 メモリ値を8進数で表示します。
2進数 メモリ値を2進数で表示します。
サイズ表記 メモリ値のサイズの表示形式を変更する次のボタンを表示します。
4ビット メモリ値を4ビット幅で表示します。
1バイト メモリ値を8ビット幅で表示します(デフォルト)。 2バイト メモリ値を16ビット幅で表示します。
対象メモリ領域のエンディアンに従って値を変換します。
4バイト メモリ値を32ビット幅で表示します。
対象メモリ領域のエンディアンに従って値を変換します。
8バイト メモリ値を64ビット幅で表示します。
対象メモリ領域のエンディアンに従って値を変換します。
エンコード 文字列のエンコードを変更する次のボタンを表示します。
注 浮動小数点数値表示についての詳細は,メモリ パネルの項を参照してください。
2.9.1.3 メモリの内容を変更する
メモリの値は編集することができます。
メモリ値エリア/文字列エリアにおいて,対象メモリ値にキャレットを移動したのち,直接キーボードより編集しま す。
メモリ値を編集すると変更箇所の表示色が変化し,この状態で[Enter]キーを押下することにより,変更した値が ターゲット・メモリに書き込まれます([Enter]キーの押下前に[Esc]キーを押下すると編集をキャンセルします)。
ただし,変更の際に入力可能な文字列は,現在指定されている表示進数で扱うことができる文字列に限ります。また,
文字列エリアでの変更は,文字コードとして“ASCII”が指定されている場合のみ可能です。
なお,メモリの値の編集は,プログラム実行中の状態でも行うことができます。設定方法についての詳細は,
「2.9.1.4 プログラム実行中にメモリの内容を表示/変更する」を参照してください。
値を変更する際において,留意する必要がある例を次に示します。
例 1. 表示ビット幅の最大値を越えた場合
10進数8ビット表示において,表示値“105”の“1”を編集して“3”を入力した場合,変更値は最大値で
ある“127”となります。
例 2. 数値の途中に“-”を入力した場合
符号あり10進数16ビット表示において,表示値“32768”を“32-68”と編集した場合,“3”と“2”が空 白に変わり,変更値は“-68”となります。
例 3. 数値の途中に空白記号(スペース)を入力した場合
10進数16ビット表示において,表示値“32767”を“32 67”と編集した場合,“3”と“2”が空白に変わ り,変更値は“67”となります。
例 4. 同一の値を入力した場合
現在のメモリ値と同一の値を指定した場合でも,指定した値をメモリに書き込みます。
ASCII 文字列をASCIIコードで表示します(デフォルト)。
Shift_JIS 文字列をShift_JISコードで表示します。
EUC-JP 文字列をEUC-JPコードで表示します。
UTF-8 文字列をUTF-8コードで表示します。
UTF-16 文字列をUTF-16コードで表示します。
Float 文字列を単精度浮動小数点数値注で表示します。
Double 文字列を倍精度浮動小数点数値注で表示します。
Float Complex 文字列を単精度浮動小数点数の複素数注で表示します。
Double Complex 文字列を倍精度浮動小数点数の複素数注で表示します。
Float Imaginary 文字列を単精度浮動小数点数の虚数注で表示します。
Double Imaginary 文字列を倍精度浮動小数点数の虚数注で表示します。
表示 表示形式を変更する次のボタンを表示します。
スクロール範囲を設定... スクロール範囲を設定するためのスクロール範囲設定 ダイアログがオープンし
ます。
表示桁数を設定... メモリ値エリアの表示桁数を設定するため,表示桁数設定 ダイアログをオープ ンします。
表示アドレス・オフセット値 を設定...
アドレス・エリアに表示するアドレスのオフセット値を設定するため,アドレ ス・オフセット設定 ダイアログをオープンします。
2.9.1.4 プログラム実行中にメモリの内容を表示/変更する
メモリ パネル/ウォッチ パネルでは,プログラムの実行中に,リアルタイムにメモリ/ウォッチ式の内容を表示更 新,および書き換えることができるリアルタイム表示更新機能を備えています。
このリアルタイム表示更新機能を有効化することにより,プログラムが停止している状態だけでなく,実行中の状態 であっても,メモリ/ウォッチ式の値の表示/変更を行うことができます。
なお,リアルタイム表示更新機能は,デバッグ・ツールが持つRRM機能(読み込み)【IECUBE】【シミュレータ】, RAMモニタ機能(読み込み)(【シミュレータ】以外),DMM機能(書き込み)により実現され,各機能ごとに読み込 み/書き込みが可能な対象領域は異なります。
まず,リアルタイム表示更新機能を有効にするために,プロパティ パネルの[デバッグ・ツール設定]タブ上におい て,次の基本設定を行ってください。
表 2.7 リアルタイム表示更新機能の基本設定
注意 ローカル変数は,リアルタイム表示更新機能の対象外です。
備考 メモリ パネル/ウォッチ パネルにおける値の書き換え方法についての詳細は,「2.9.1.3 メモリの内容 を変更する」/「2.9.6.6 ウォッチ式の内容を変更する」を参照してください。
(1) RRM機能(読み込み)【IECUBE】【シミュレータ】
プログラム実行中に,リアルタイムにメモリ/ウォッチ式の内容を読み込む機能です。
RRM機能による読み込みが可能な領域は次のとおりです。
この領域に割り当てられているメモリ/ウォッチ式は,常にリアルタイムな表示が可能です。
表 2.8 RRM機能の対象領域
注 1. 実行前のキャッシュ・データのため,リアルタイムな値ではない 注 2. 汎用レジスタ/PCのみ可
注 3. トレーサ/タイマ動作中は不可
(2) RAMモニタ機能(読み込み)(【シミュレータ】以外)
プログラムの実行を一瞬停止して,ソフトウエア・エミュレーションによりメモリ/ウォッチ式の内容を読み込 む機能です。
RAMモニタ機能による読み込みが可能な領域は次のとおりです。
注意 CPUステータスがスタンバイ・モード(HALT/STOP)に移行すると,タイムアウト・エラーを 発生します。
表 2.9 RAMモニタ機能の対象領域
カテゴリ プロパティ 設定値
[実行中のメモリ・アクセス] [実行中に表示更新を行う] [はい](デフォルト)
[表示更新間隔[ms]] [100 ~65500の整数]
対象領域 IECUBE シミュレータ
内部ROM ○注1 ○
内部RAM(レジスタ領域を除く) ○ ○
データフラッシュ ○ -
エミュレーション・メモリ - ○
ターゲット・メモリ - ○
CPUレジスタ ○注2 ○注3
SFR - ○注3
領域名 IECUBE E1/E20/EZ Emulator
内部ROM -注1 -