單元
映射是 Windows 在使用者模式進程或核心中載入的可執行檔、DLL 或驅動程式。 載入影像的檔案稱為其 影像檔。
偵錯工具引擎會快取每個進程 (的模組清單,或在核心模式中,虛擬進程) 。 此清單中的每個模組通常代表進程中的影像。 引擎的模組清單可以使用 Reload與目標同步處理。
注意 在核心模式偵錯中,虛擬進程的引擎模組清單包含全系統的核心模式模組和目前進程的使用者模式模組。
模組可由目標虛擬位址空間中的基底位址指定,或由引擎為目標維護之模組清單中的索引來指定。 模組的索引等於其在模組清單中的位置,因此如果卸載索引較低的模組,此索引將會變更。 所有卸載的模組都有索引;這些一律高於已載入模組的索引。 只要模組維持載入狀態,模組的基底位址就不會變更;在某些情況下,如果卸載模組,然後重載,它可能會變更。
索引是介於零與目標中的模組數目減一之間的數位。 呼叫 GetNumberModules即可找到目前進程中的模組數目。
索引可用來藉由呼叫 GetModuleByIndex來尋找基底位址。 您可以使用 GetSymbolModule找到擁有指定名稱之符號的模組基底位址。
下列方法會傳回指定模組的索引和基底位址:
若要尋找具有指定模組名稱的模組,請使用 GetModuleByModuleName。
虛擬位址範圍包含指定位址的模組會由 GetModuleByOffset 傳回。 這個方法可用來在模組的基底位址下尋找模組索引。
下列方法會傳回基底位址或索引所指定模組的相關資訊:
模組的名稱會由 GetModuleNames 和 GetModuleNameString傳回。
GetModuleVersionInformation會傳回模組的版本資訊。
GetModuleParameters會傳回一些用來描述模組的參數。 如需此方法所傳回參數的詳細資訊,請參閱 DEBUG_MODULE_PARAMETERS。
卸載的模組
在使用者模式偵錯期間,卸載的模組只會在 Windows Server 2003 和更新版本的 Windows 中追蹤。 舊版 Windows 只會追蹤核心模式中已卸載的模組。 追蹤它們時,會在載入的模組之後編制索引。 因此,任何搜尋目的模組的方法都會搜尋所有載入的模組,然後搜尋卸載的模組。 卸載的模組可用來分析嘗試呼叫已卸載程式碼所造成的失敗。
綜合模組
綜合模組 可以建立為記憶體區域加上標籤的方式。 這些模組不能包含實際符號,但可以包含綜合符號。 AddSyntheticModule方法會建立新的綜合模組。 您可以使用 RemoveSyntheticModule 移除綜合模組。 重載目標中的所有模組會刪除所有綜合模組。
影像路徑
搜尋可執行映射時,引擎會使用 可執行檔映射路徑 。
可執行檔映射路徑可以包含數個目錄,並以分號分隔 (;) 。 系統會依序搜尋這些目錄。
如需可執行檔映射路徑的概觀,請參閱可執行檔映射路徑。
若要將目錄新增至可執行檔映射路徑,請使用 AppendImagePath方法。 GetImagePath會傳回整個可執行映射路徑,而且可以使用SetImagePath進行變更。
其他資訊
如需進程和虛擬進程的詳細資訊,請參閱 執行緒和進程。