11.15 [Memory]ビュー

メモリの内容を表示および変更するには、Memory ビューを使用します。

このビューを使用すると、以下を実行できます。

  • 絶対アドレスまたは $pc+256 などの式のいずれかでビューの開始アドレスを指定します。Registers ビューから Memory ビューにドラッグ アンド ドロップして、レジスタに保持されているアドレスを指定することもできます。
  • 開始アドレスのオフセット値として、Memory ビューの画面サイズをバイト単位で指定します。
  • メモリセルの値の形式を指定します。デフォルトは 16 進数です。
  • Memory ビューのメモリ セルの幅を設定します。デフォルトは 4 バイトです。
  • メモリ値に相当する ASCII 文字を表示します。
  • ビューをフリーズして、実行中のターゲットによる値の更新を抑制します。
図 11-18 [Memory]ビュー
[Memory]ビュー


Memory ビューは、メモリがこのビューで表示される方法を変更する機能のみを提供します。ただし、この機能によってメモリ領域のアクセス幅を変更することはできません。メモリ アクセスの幅を制御するには、以下のコマンドを使用できます。

  • メモリ領域のアクセス幅を設定する memory コマンドに続けて、これらのアクセス幅に従ってメモリを読み出して内容を表示する x コマンド
  • 明示的なアクセス幅を使ってメモリに書き込む memory set コマンド

ツールバーとコンテキストメニューのオプション

ツールバーまたはコンテキストメニューには、以下のオプションが用意されています。

[リンク:コンテキスト]
このビューを[デバッグ制御]ビューで選択した接続にリンクします。これがデフォルトです。)または、ビューを別の接続にリンクすることもできます。リンクする接続がドロップダウンリストに表示されていない場合は、まず[デバッグ制御]ビューで接続を選択する必要があります。
履歴 [History] ボタン
[Address] フィールドで指定したアドレスおよび式がリストに追加され、履歴一覧をクリアするまで保存されます。今後の使用に備えて式を保持する場合は、式を Expressions ビューに追加してください。
列数 [Number of columns] ボタン
このオプションにより、Memory ビューに表示する列数を変更できます。
[Fit to view]: 選択すると、列数を自動的に変更します。
2、4、8、16: 2、4、8、または 16 列のレイアウトの Memory ビューに表示される列数を選択します。
Custom: 必要なカスタム列レイアウトを選択し指定します。
これらの値をデフォルトに指定するには、[Window] > [Preferences] > [DS-5] > [Debugger] > [Memory View] の順に選択して設定します。
一定間隔での自動更新 [Timed auto refresh is off] ボタン
ビューの自動更新の値を指定するには、[Timed Auto-Refresh] オプションを使用します。
[Start]: 一定間隔での自動更新を開始します。
[Stop]: 一定間隔での自動更新を停止します。
[Update Interval]: 自動更新間隔を秒単位で指定します。
[Update When]: いつビューを更新するかを指定します。
  • [Running]: ターゲットの実行中にのみビューを更新します。
  • [Stopped]: ターゲットの停止中にのみビューを更新します。
  • [Always]: 常にビューを更新します。

    注:

    [Running] または [Always] を選択した場合、Memory ビューと Screen ビューは、実行中にそのメモリにアクセスすることをターゲットがサポートしている場合にのみ更新されます。例えば、一部の CoreSight™ ターゲットは デバッグアクセスポートDAP Advanced High-performance Bus アクセスポート (AHB-AP) ブリッジを介して、いつでも物理メモリへのアクセスがサポートされています。その場合、Memory ビューや Screen ビューで選択されたアドレスに接頭文字 AHB: を追加します。この種のアクセスでは プロセッサ コアのキャッシュがバイパスされるため、返されるメモリの内容はコアが読み取る値とは異なる場合があります。
[Properties]: [Timed Auto-Refresh Properties] ダイアログ ボックスを表示して、これらのオプションをデフォルトとして指定できます。
形式 [Format] ボタン

クリックして、メモリセルのフォーマットとセルの幅を順に切り替えて表示するか、ドロップダウンメニューからフォーマットを選択します。デフォルトは、4 バイト分の表示幅の 16 進数です。

ベースの接頭文字を非表示にするには、[Hide Base Prefix] オプションを使用します (適用可能な場合)。

例えば、
  • 16 進数の場合、このオプションは、先行する 0x を非表示にします。そのため、値 0xEA000016EA000016 と表示されます。
  • 16 進数の場合、このオプションは、先行する 0b を非表示にします。そのため、値 0b0001011000010110 と表示されます。
  • 8 進数の場合、このオプションは、先行する 0 を非表示にします。そのため、値 03520000002635200000026 と表示されます。
検索 [Search] ボタン

デバッグ情報内でシンボルを検索します。

[Address]フィールド

ターゲットメモリの表示を開始するアドレスを入力します。または、アドレスを評価する式を入力することもできます

指定したアドレスおよび式はドロップダウン リストの履歴一覧に追加され、ビューの履歴をクリアするまで保存されます。今後の使用に備えて式を保持する場合は、式を [Expressions] ビューに追加してください。

[Size]フィールド

表示するバイト数。

[View Menu]

以下の[View Menu]オプションがあります。

[New Memory View]

Memory ビューの新しいインスタンスを表示します。

[Show Tooltips]

メモリセル値のヒントの表示が切り替わります。

自動境界整列
メモリビューを現在選択されているデータ幅に合わせて整列させます。
圧縮されたアドレスを表示
繰り返されないアドレスの最下位バイトを表示します。
キャッシュを表示

ターゲットに存在するさまざまなキャッシュのパースペクティブから、コアのメモリの状態を示します。デフォルトでは、無効になっています。キャッシュを表示すると、ビューはキャッシュラインサイズに合わせて自動的に整列されます。また、キャッシュを表示すると、メモリビューには各キャッシュの列が表示されます。入力済みの場合、キャッシュの列には、Modified/Owned/Exclusive/Shared/Invalid (MOESI) キャッシュ コヒーレンシ プロトコルの記法を使用して、各キャッシュの状態が表示されます。

キャッシュの列ヘッダをクリックするか、[キャッシュデータ]メニューからキャッシュを選択すると、そのキャッシュの視点でデータが表示されます。[キャッシュデータ]メニューの[メモリ(キャッシュなし)]オプションでは、すべてのキャッシュが無効になっている場合と同じようにメモリ内のデータが表示されます。

図 11-19 [Show Cache] オプションを有効にした場合のメモリ ビュー
[Show Cache] オプションを有効にした場合のメモリ ビュー


注:

マルチプロセッサ システムでは、キャッシュが特定のコア専用にされることはよくあることです。例えば、デュアルコアシステムでは、コアごとに L1 キャッシュが存在する可能性がありますが、共有するのは 1 つの L2 キャッシュです。キャッシュ スヌーピングは、コアごとのキャッシュにその他のコアからアクセスできるようにするハードウェア機能の 1 つです。このような場合、[Cache Data] フィールドには、直接であれスヌーピングを通じてであれ各コアからアクセスできるキャッシュが表示されます。
バイト順序
メモリのバイト順序を選択します。デフォルトは[Auto(LE)]です。
[Clear History]
[History] ドロップダウン リスト内のアドレスおよび式の一覧をクリアします。
[Import Memory]
ファイルからデータを読み出し、メモリに書き込みます。
[Export Memory]
メモリからデータを読み出して、ファイルに書き込みます。
[Fill Memory]
バイトの特定パターンをメモリに書き込みます。
非表示の場合はビューを更新
他のビューの背後にあり表示されない場合は、ビューの更新を有効にします。デフォルトでは、非表示の場合はビューを更新しません。
[Refresh]
ビューを更新します。
[Freeze Data]
現在のビュー内のデータのフリーズを切り替えます。これを使用すると、[Address] フィールドおよび [Size] フィールドと [Refresh] オプションを無効または有効にすることもできます。
コンテキストメニューの編集オプション
列ヘッダのコンテキストメニューで、個々の列の表示を切り替えることができます。
[Reset Columns]
デフォルトの列を表示します。
[Characters]
[Characters] 列を表示します。

編集するためにメモリセル値、[Address] フィールド、または [Size] フィールドを選択した場合、以下のオプションがコンテキスト メニューで利用できます。

[Cut]
選択した値をコピーして削除します。
[Copy]
選択した値をコピーします。
[Paste]
以前に切り取ったまたはコピーした値を、選択したメモリ セルまたはフィールドに貼り付けます。
[Delete]
選択した値を削除します。
[Select All]
すべてのアドレスを選択します。

メモリセルの値を選択した場合、コンテキストメニューで以下の追加オプションを設定できます。

[Toggle Watchpoint]
選択したアドレスのウォッチポイントを設定または削除します。ウォッチポイントの設定後、以下のオプションを利用できます。
  • [Enable Watchpoint] 無効になっている場合、選択したアドレスのウォッチポイントを有効にします。
  • [Disable Watchpoint] 選択したアドレスのウォッチポイントを無効にします。
  • [Remove Watchpoint] 選択したアドレスのウォッチポイントを削除します。
  • [Watchpoint Properties] ウォッチポイントのプロパティを表示し、ユーザーが変更できるようにします。
[Translate Address <address>]
MMU ビューを表示し、メモリ内で選択された値のアドレスを変換します。

Memory ビューのデフォルトの環境設定

デフォルトの環境設定が Memory ビューに適用されるように指定できます。デフォルト オプションを指定すると、指定した環境設定がすべてのデバッグ接続に適用されるようになります。

Memory ビューのデフォルト オプションを指定するには、[Window] > [Preferences] > [DS-5] > [Debugger] > [Memory View]で設定します。

図 11-20 Memory ビューの環境設定
Memory ビューの環境設定


列数
このオプションにより、[Memory] ビューに表示する列数を変更できます。
[Fit to view] - 選択すると、列数を自動的に変更します。
2、4、8、16: 2、4、8、または 16 列のレイアウトの [Memory] ビューに表示される列数を選択します。
Custom: 必要なカスタム列レイアウトを選択し指定します。
データ形式
メモリセルの値の形式を指定します。デフォルトは 16 進数です。
データ サイズ
[Memory] ビューのメモリ セルの幅を設定します。デフォルトは 4 バイトです。
メモリ値のベースの接頭文字の非表示化
ベースの接頭文字を非表示にする場合に選択します (適用可能な場合)。
例えば、
  • 16 進数の場合、このオプションは、先行する 0x を非表示にします。そのため、値 0xEA000016EA000016 と表示されます。
  • 16 進数の場合、このオプションは、先行する 0b を非表示にします。そのため、値 0b0001011000010110 と表示されます。
  • 8 進数の場合、このオプションは、先行する 0 を非表示にします。そのため、値 03520000002635200000026 と表示されます。
[Characters] 列の非表示化
Memory ビューで [Characters] 列を非表示にする場合に選択します。
ツールチップの表示

メモリセル値のヒントの表示を制御する場合に選択します。

メモリ アドレスの自動整列

メモリビューを現在選択されているデータ幅に合わせて整列させます。

圧縮されたアドレスの表示

繰り返されないアドレスの最下位バイトを表示します。

非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.