WinDbg 中的元件程式代碼偵錯 (傳統)
在 WinDbg 中,您可以輸入命令或使用反組譯碼視窗來檢視元件程式代碼。
調試程式命令視窗
您可以在 [調試程式命令] 視窗中輸入其中一個 u、ub、uu (Unassemble) 命令來檢視元件程式代碼。
Disasembly Window
若要開啟或切換至 [反組譯碼] 視窗,請從 [檢視] 功能表選擇 [反組譯碼]。 (您也可以按 ALT+7 或選取 工具列上的反組譯 碼按鈕。ALT+SHIFT+7 將會關閉反組譯碼視窗。
下列螢幕快照顯示反組譯碼視窗的範例。
調試程式會採用記憶體區段、將它解譯為二進位計算機指令,然後解譯它以產生機器指令的元件語言版本。 產生的程式代碼會顯示在 [反組譯碼] 視窗中。
在 [反組譯碼] 視窗中,您可以執行下列動作:
若要反組譯記憶體的不同區段,請在 [位移] 方塊中輸入您要反組譯的記憶體位址。 (您可以在輸入地址之後按 ENTER 鍵,但不需要。反組譯碼視窗會在您完成位址之前顯示程序代碼;您可以忽略此程式碼。
若要查看記憶體的其他區段,請選取 [ 上一 步] 或 [下一步] 按鈕,或按PAGE UP或PAGE DOWN 鍵。 這些命令會分別顯示記憶體先前或下列區段的反組譯碼。 按下向右鍵、向左鍵、向上箭號和向下鍵,即可在視窗中流覽。 如果您使用這些索引鍵來移出頁面,就會顯示新的頁面。
[反組譯碼] 視窗有一個工具列,其中包含兩個按鈕,以及包含其他命令的快捷方式功能表。 若要存取功能表,請選取並按住標題列(或以滑鼠右鍵按兩下),或選取視窗右上角附近的圖示。 下列清單描述一些功能表命令。
移至目前的位址 會開啟 [來源] 視窗,其中包含對應至反組譯碼視窗中所選取行的來源檔案,並反白顯示這一行。
在目前的指令 之前可反組譯,導致目前的行放在反組譯碼窗口中間。 此命令是預設選項。 如果清除此命令,目前的行會出現在反組譯碼窗口頂端,這可節省時間,因為反向反組譯碼可能會很耗時。
反白顯示來自目前來源行 的指示,會使對應至目前源行的所有指示都反白顯示。 單一來源行通常會對應至多個元件指令。 如果程式代碼已優化,這些元件指令可能不是連續的。 此命令可讓您尋找從目前來源行組合的所有指示。
顯示每個指令 的來源行會顯示對應至每個元件指令的來源行號。
顯示每個指令 的來源檔案會顯示對應至每個元件指令的來源檔名。
另請參閱
如需元件偵錯和相關命令的詳細資訊,以及元件顯示的完整說明,請參閱 元件模式中的偵錯。