### 2-8　［Watch］リージョンと［Local Watch］リージョン

［Watch］リージョンと［Local Watch］リージョンには、変数と式を1行ごとに表示します。

各行には4列あり、式は3番目の列に、その値（場合による）は4番目の列に表示されます。

- 最初の列に「.」があると、式にウォッチ ポイントが指定できます。
- 2番目の列に「＋」があると、式が展開できます。
- 3番目の列に「−」があると、式が折り畳めます。

［Watch］リージョンまたは［Local Watch］リージョンでは、以下を行うことができます。

- 実行ステップごとのデータ値の変化を強調表示。
- ［Watch］リージョンと［Local Watch］リージョンでの式の値の編集。

実在の式だけを編集することができます。

#### ［Watch］リージョンまたは［Local Watch］リージョンにおける、C＋＋名のディマングル

C＋＋名のディマングルをすべての変数名について実行することができます。これは、元のソースに出現する通りの名前の記号を入力できることを意味します。次の目的でデータを見ることができます。

- 構造体の階層表示の展開と折り畳み
- 構造体のメモリ内の位置の表示
- 変数値の編集

以下を含めて、Cのすべてのタイプがサポートされています。

- structs
- unions
- arrays
- enumeration （enum）
- floats/double

#### 式の展開

式を展開すると、各子式はインデントされ、親式の下に表示されます。

たとえば、次の通りです。

parent

child

child

式は、展開された次のものに追加されます。

- ポインタ（Pointers）。ディリファレンス項目を示します
- 配列（Arrays）。式は配列の各要素に追加されます
- 構造体（Structures）。式は各メンバに追加されます

#### 2-8-1　［Watch］リージョン

［Watch］リージョンで、変数と式を入力することができます。［Watch］リージョンにおける変数のスコープは、グローバルです。式がプログラム実行中にスコープを超えると、メッセージが表示されます。

- スタティック変数の場合のように、式の値を決定できる場合は、その値がリージョンに表示されます。
- 式の値が決定できない場合は、値は表示されません。
- 式がスコープ内に戻ると、その値が表示されます。

#### ［Watch］リージョンのショートカットメニューの使用

#### ［Watch］リージョンでデータのブラウズ

#### 記号または変数の追加

［Watch］リージョンで、次のいずれかを行います。

- 右クリックし、［Insert］をクリックして、記号または変数を現在のカーソル位置に追加。
- 右クリックし、［Append］をクリックして、記号または変数を、変数の現在のリストの最後に追加。
- ［Enter］キーを押して、新規の記号または変数を、現在のカーソル位置に入力。

#### 構造体または配列の展開

展開する構造体または配列を選択してから、次のいずれかを行います。

- 「＋」をクリックする。
- ［スペース］キーを押す。
- 右クリックして、［Open/Close］をクリックする。

#### 構造体または配列の折り畳み

折り畳む構造体または配列を選択してから、次のいずれかを行います。

- 「−」をクリックする。
- ［スペース］を押す。
- 右クリックして、［Open/Close］をクリックする。

#### ［Watch］リージョンで変数の編集

#### 変数またはウォッチ式の値を変更します。

次のいずれかを行います。

- 変更する値を選択して、［Enter］キーを押す。
- ［Ctrl］＋［Alt］＋［E］キーを押す。

Expression Evaluatorダイアログボックスが表示されます。式を入力して、［OK］ボタンをクリックします。

#### 変数のデータ値を編集（構造体、配列、または結合）

1. 編集する値をダブルクリックします。
2. 値を編集します。
3. 次のいずれかを行います。
   - ［Enter］キーを押す。
   - ［Ctrl］＋［Alt］＋［E］キーを押し、［Expression Evaluator］ダイアログボックスを表示する。

#### 親式と子式を削除するには

1. 構造体または配列を展開します。
2. 削除するコンポーネントを選択してから、次のいずれかを行います。
   - 右クリックして、［Delete］をクリックする。
   - ［Delete］キーを押す。

親式を削除すると、子式もリージョンから削除されます。

#### 親式を削除して、子式をすべて1レベル上げるには

1. 構造体または配列を展開します。
2. 削除するコンポーネントを選択します。
3. ［Shift］＋［Delete］キーを押します。

#### 2-8-2　［Local Watch］リージョン

［Local Watch］リージョンには、PC（プログラムカウンタ）の現在の位置からビュー内のすべてのローカル変数が自動的に表示されます。関数のスコープ内であれば、これらの変数は自動的にディスプレイに追加されます。

#### ［Local Watch］リージョンでのショートカットメニューの使用

#### ［Local Watch］リージョンでデータをブラウズ

#### 構造体または配列の展開

展開する構造体または配列を選択してから、次のいずれかを行います。

- 「＋」をクリックする。
- ［スペース］キーを押す。
- 右クリックして、［Open/Close］をクリックする。

#### 構造体または配列を折り畳む

折り畳む構造体または配列を選択してから、次のいずれかを行います。

- 「−」をクリックする。
- ［スペース］キーを押す。
- 右クリックして、［Open/Close］をクリックする。

#### ［Local Watch］リージョンで変数の編集

#### 変数またはウォッチ式の値の変更

1. 次のいずれかを行います。
   - 変更する値を選択し、［Enter］キーを押す。
   - ［Ctrl］＋［Alt］＋［E］キーを押す。
   ［Expression Evaluator］ダイアログボックスが表示されます。
2. 式を入力します。
3. ［OK］ボタンをクリックします。

#### 親式と子式をすべて削除するには

1. 構造体または配列を展開します。
2. 削除するコンポーネントを選択してから、次のいずれかを行います。
   - 右クリックして、［Delete］をクリックする。
   - ［Delete］キーを押す。

親式を削除すると、すべての子式もリージョンから削除されます。

#### 親式を削除して、子式をすべて1レベル上げるには

1. 構造体または配列を展開します。
2. 削除するコンポーネントを選択します。
3. ［Shift］＋［Delete］キーを押します。

[←] | [INDEX] | [→]