緩存器是位於CPU上的小型揮發性記憶體單位。 許多暫存器專用於特定用途,而其他暫存器則可供使用者模式的應用程式使用。 x86 型和 x64 型處理器有不同的緩存器集合可供使用。 如需每個處理器上暫存器的詳細資訊,請參閱 處理器架構。
在 WinDbg 中,您可以通過輸入命令、使用 [暫存器] 視窗或使用 [監視視窗] 來檢視和編輯暫存器。
指令
您可以在 [除錯程式命令] 視窗中輸入 r (Registers) 命令,以檢視和編輯緩存器。 您可以透過使用多種選項或使用 rm (Register Mask) 命令來自定義顯示。
每次目標停止時,暫存器也會自動顯示。 如果您要使用 p (Step) 或 t (Trace) 命令逐步執行您的程式碼,您會在每一步看到暫存器顯示。 若要停止此顯示,請在使用這些命令時,使用 r 選項。
在 x86 型處理器上,r 選項也會控制數個稱為旗標的一位緩存器。 若要變更這些旗標,您可以使用與變更一般暫存器時稍微不同的語法。 如需這些旗標和此語法說明的詳細資訊,請參閱 x86 旗標。
暫存器視窗
開啟暫存器視窗
若要開啟或切換至 [註冊] 視窗,請從 [檢視] 功能表選擇 [註冊]。 (您也可以按 ALT+4,或選取工具列上的 [寄存器] 按鈕。ALT+SHIFT+4 會關閉 [寄存器] 視窗。)
下列螢幕快照顯示 [緩存器] 視窗的範例。
[暫存器] 視窗包含兩個欄位。 Reg 資料行會列出目標處理器的所有緩存器。 值 欄會顯示每個暫存器目前的值。 此視窗也包含工具列上開啟 [自定義註冊清單] 對話方塊的 [自訂] 按鈕。
使用暫存器視窗
在 [註冊] 視窗中,您可以執行下列動作:
Value 資料欄顯示每個寄存器目前的值。 最近變更暫存器的值會以紅色文字顯示。
- 若要輸入新的值,請按兩下 [ 值 ] 資料格,然後輸入新值或編輯舊值。 (剪下、複製和貼上命令可用於編輯。
- 若要儲存新的值,請按 ENTER 鍵。
- 若要捨棄新的值,請按 ESC 鍵。
- 如果您輸入無效的值,當您按下 ENTER 鍵時,舊值會重新出現。
暫存器值會顯示在目前的基數中,而且您必須在相同的基數中輸入新的值。 若要變更目前的基數,請在 [調試程式命令] 視窗中使用 n (Set Number Base) 命令。
在使用者模式中,暫存器視窗會顯示與目前線程相關聯的暫存器。 如需目前線程的詳細資訊,請參閱 控制進程和線程。
在核心模式中,[緩存器] 視窗會顯示與目前 緩存器內容相關聯的緩存器。 您可以設定暫存器內容,以符合特定線程、內容記錄或陷阱框。 實際上,只會顯示指定暫存器內容中最重要的暫存器;您無法更改其值。
[暫存器] 視窗有一個工具列,其中包含 [自定義] 按鈕,並具有其他命令的快捷方式功能表。 若要存取功能表,請選取並按住標題列,或選取視窗右上角附近的圖示(螢幕快照。
(工具列和功能表) 自定義 會開啟 [ 自定義註冊列表 ] 對話框,本主題的下一節會說明此對話方塊。
(僅限功能表) 工具列 會開啟和關閉工具列。
(僅限功能表) 停駐 或 取消停駐 會使視窗進入或離開停駐狀態。
(僅限功能表) 移至新的停駐 會關閉 [暫存器] 視窗,並在新的停駐中開啟它。
(僅限功能表)設為視窗類型的標籤停駐目標 對暫存器窗口無法使用。 此選項僅適用於 [來源] 或 [記憶體] 視窗。
(僅限功能表)一律浮動會導致視窗保持不被停駐,即使將其拖曳到停駐位置,視窗依然保持浮動。
(僅限功能表)隨框架移動 會導致當移動 WinDbg 框架時,視窗也會隨之移動,即使視窗已解除鎖定狀態也一樣。
(僅限功能表) 說明 會開啟 Windows 偵錯工具文件中的本主題。
(僅限功能表) 關閉 關閉此視窗。
自定義註冊清單對話框
若要變更顯示的緩存器清單,請選取 [ 自定義 ] 按鈕。 [ 自定義註冊清單 ] 對話框隨即出現。
在此對話框中,您可以編輯暫存器清單,以變更顯示暫存器的順序。 (實際上,您無法從清單中刪除緩存器;如果您這樣做,它將會在結尾重新出現。緩存器名稱之間必須有空格。
如果您 先選取 [顯示修改過的緩存器值 ] 複選框,則最近變更其值的緩存器會出現在頂端。
如果您選取 [不要顯示子登錄] 複選框,則不會顯示子登錄。 例如, 會顯示eax ,但不會顯示 ax、 ah 或 al。
選取 [確定 ] 以儲存變更或 [取消 ] 以捨棄您的變更。
如果您要偵錯具有一種以上處理器的多處理器計算機,WinDbg 會個別儲存每個處理器類型的自定義設定。 此分隔可讓您同時自訂每個處理器暫存器的顯示。
監視視窗
在 WinDbg 中,您可以使用監視視窗來顯示暫存器。 您無法使用 [監看式] 視窗來改變暫存器的值。
若要開啟 [監看] 視窗,請從 檢視 功能表選擇 監看。 您也可以按 ALT+2,或選取工具列上的 [ 監看 式] 按鈕:
下列螢幕快照顯示範例監看式視窗。
另請參閱
如需註冊內容和其他內容設定的詳細資訊,請參閱 變更內容。