共用方式為


DkmNativeModuleInstance 類別

定義

'DkmNativeModuleInstance' 用於包含 CPU 程式代碼和/或由 Win32 載入器載入的模組。

public ref class DkmNativeModuleInstance : Microsoft::VisualStudio::Debugger::DkmModuleInstance
[System.Runtime.InteropServices.Guid("b7de7beb-acab-76c4-bd78-fbba698e4b65")]
public class DkmNativeModuleInstance : Microsoft.VisualStudio.Debugger.DkmModuleInstance
[<System.Runtime.InteropServices.Guid("b7de7beb-acab-76c4-bd78-fbba698e4b65")>]
type DkmNativeModuleInstance = class
    inherit DkmModuleInstance
Public Class DkmNativeModuleInstance
Inherits DkmModuleInstance
繼承
繼承
DkmNativeModuleInstance
屬性

屬性

BaseAddress

載入模組之起始記憶體位址。 此值應該一律有效。

ClrHeaderStatus

包含已載入模組IMAGE_COR20_HEADER的 [旗標] 欄位中的資訊。 這表示載入的二進位檔類型。

Connection

這代表監視器與 IDE 之間的連線。 如果監視器在與 IDE 相同的進程中執行,則它可以是本機連線,也可以是遠端連線。 在監視程式中,只有一個連線。

(繼承來源 DkmModuleInstance)
Flags

指出 DkmModuleInstance 特性的旗標。

(繼承來源 DkmModuleInstance)
FullName

完整模組名稱。 如果是以檔案為基礎的模組,這是模組的完整路徑 (,例如:c:\windows\system32\kernel32.dll。

(繼承來源 DkmModuleInstance)
IsDisabled

指出此模組實例是否已停用。 調試程式會忽略已停用的模組。 針對原生模組,已停用模組的位址範圍會視為未對應。 針對 CLR 模組,這些模組中的任何框架會從呼叫堆疊中隱藏。

(繼承來源 DkmModuleInstance)
IsUnloaded

如果已針對這個對象引發 'unloaded' 事件, (範例:DkmThread::Unload 呼叫) 或對象已關閉,則傳回 true。 請注意,檢查此狀態時,請務必小心,而不需同步處理,傳回的狀態在讀取之後可能無法再精確指示。

(繼承來源 DkmDataContainer)
LoadContext

載入此課程模組之內容的字串描述。 例如:'Win32' 或 'CLR v2.0.50727:預設網域'。

(繼承來源 DkmModuleInstance)
LoadOrder

已載入至並包含此模組之模組實例數目的整數計數。 每個運行時間實例都會持續追蹤其本身的負載順序計數。

(繼承來源 DkmModuleInstance)
MemoryLayout

列舉,指出模組如何在記憶體中配置。

(繼承來源 DkmModuleInstance)
MinidumpInfoPart

[選擇性]'MinidumpInfoPart' 可用來傳達迷你傾印 DkmProcess 中模組的其他資訊。

(繼承來源 DkmModuleInstance)
Module

[選擇性]符號處理程式的模組表示法 (DkmModule) 與此模組實例相關聯。 這個值一開始為 Null,而且會在符號與這個模組實例相關聯時指派。

(繼承來源 DkmModuleInstance)
Name

模組名稱的簡短表示法。 針對以檔案為基礎的模組,這是檔名和擴展名 (例如:kernel32.dll) 。

(繼承來源 DkmModuleInstance)
Process

DkmProcess 代表正在偵錯的目標進程。 調試程式會偵錯進程,因此這是偵錯的基本單位。 DkmProcess 可以代表系統進程或虛擬進程,例如minidumps。

(繼承來源 DkmModuleInstance)
RuntimeInstance

表示在目標進程中執行的機器碼。

Size

模組記憶體區域中的位元元組數目。

SymbolFileId

[選擇性]包含尋找此課程模組符號所需的資訊。 在 Win32 上,此資訊包含在IMAGE_DEBUG_DIRECTORY內。

(繼承來源 DkmModuleInstance)
TagValue

DkmModuleInstance 是抽象基類。 這個列舉表示這個物件的衍生類別是的實例。

(繼承來源 DkmModuleInstance)
TimeDateStamp

已載入模組建置時的日期/時間。 這個值是從載入模組的IMAGE_NT_HEADERS取得。 度量單位是 FILETIME 值,這是 64 位值,代表自 1601 年 1 月 1 日起的 100 奈秒間隔數 (UTC) 。

(繼承來源 DkmModuleInstance)
UniqueId

唯一識別 DkmModuleInstance 物件。

(繼承來源 DkmModuleInstance)
Version

[選擇性]檔案版本資訊。

(繼承來源 DkmModuleInstance)

方法

ClearTransitionModuleFlag()

運行時間實例會呼叫這個方法,將模組標示為界限模組。 逐步執行時,運行時間應該檢查該步驟是否已達到界限模組,並開始執行仲裁。 請注意,某些運行時間可能無法接受此要求。 發送器會保留呼叫 FlagAsTransitionModule 的次數。 只有當對 ClearTransitionModuleFlag 的呼叫數目相符時,模組就不會再被視為轉換模組。

位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。

(繼承來源 DkmModuleInstance)
Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt32, String, DkmNativeRuntimeInstance, UInt64, UInt32, DkmClrHeaderStatus, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem)

Create 新的 DkmNativeModuleInstance 物件實例。

這個方法會傳送ModuleInstanceLoad事件。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

Decompile()

將模組的程式代碼分解成 C#,並使用此內嵌來源建立新的可攜式 PDB。 共用此符號檔的所有模組都會開始使用這些更新的符號。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引進。

(繼承來源 DkmModuleInstance)
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>)

將模組的程式代碼分解成 C#,並使用此內嵌來源建立新的可攜式 PDB。 共用此符號檔的所有模組都會開始使用這些更新的符號。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引進。

(繼承來源 DkmModuleInstance)
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

將模組的程式代碼分解成 C#,並使用此內嵌來源建立新的可攜式 PDB。 共用此符號檔的所有模組都會開始使用這些更新的符號。 實作應該在失敗時傳回S_OK,並透過 『HR』 和 『ErrorMessage』 參數傳回實際的 HRESULT 和任何其他錯誤資訊。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 引進。

(繼承來源 DkmModuleInstance)
Decompile(String, Int32)

將模組的程式代碼分解成 C#,並使用此內嵌來源建立新的可攜式 PDB。 共用此符號檔的所有模組都會開始使用這些更新的符號。 實作應該在失敗時傳回S_OK,並透過 『HR』 和 『ErrorMessage』 參數傳回實際的 HRESULT 和任何其他錯誤資訊。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 引進。

(繼承來源 DkmModuleInstance)
FindExportByOrdinal(DkmWorkList, UInt32, Boolean, DkmCompletionRoutine<DkmFindExportByOrdinalAsyncResult>)

尋找匯出函式的位址 (或序數所指定的數據匯出) 。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引進。

FindExportByOrdinal(UInt32, Boolean)

尋找匯出函式的位址 (或序數所指定的數據匯出) 。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引進。

FindExportName(DkmWorkList, String, Boolean, DkmCompletionRoutine<DkmFindExportNameAsyncResult>)

尋找指定之具名匯出函式的位址, (或數據匯出) 。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

FindExportName(String, Boolean)

尋找指定之具名匯出函式的位址, (或數據匯出) 。

FlagAsTransitionModule()

運行時間實例會呼叫這個方法,將模組標示為界限模組。 逐步執行時,運行時間應該檢查該步驟是否已達到界限模組,並開始執行仲裁。 請注意,某些運行時間可能無法接受此要求。 發送器會保留呼叫這個 次數的計數。 只有在已進行 ClearTransitionModuleFlag 的相符呼叫數目時,模組就不會再被視為轉換模組。

位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。

(繼承來源 DkmModuleInstance)
GetDataItem<T>()

取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。

(繼承來源 DkmDataContainer)
GetELFBuildId()

傳回 ELF 模組的組建識別碼。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 引進。

GetFunctionTableEntry(UInt64)

取得傳遞位址的函式數據表專案。 引擎的格式取決於偵錯架構。

GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean)

取得偵錯模組實例中位址範圍的反組譯碼。

(繼承來源 DkmModuleInstance)
GetGPUDisassemblySize()

傳回偵錯模組實例中的反組譯碼大小。

(繼承來源 DkmModuleInstance)
GetNextGPUInstructionAddress(UInt64)

傳回下一個相對於起始位址的指令位址。

(繼承來源 DkmModuleInstance)
GetSymbolLoadInformation()

傳回字串,描述搜尋符號的各種位置,以及檢查該位置的結果。 此資訊可用來在模組視窗中填入 「符號載入資訊」。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

(繼承來源 DkmModuleInstance)
GetSymbolSearchResult()

擷取與此模組實例相關聯的任何符號搜尋結果。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 引進。

(繼承來源 DkmModuleInstance)
GetSymbolSearchResult(DkmWorkList, DkmCompletionRoutine<DkmGetSymbolSearchResultAsyncResult>)

擷取與此模組實例相關聯的任何符號搜尋結果。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 引進。

(繼承來源 DkmModuleInstance)
GetSymbolStatusMessage(Boolean)

取得目前符號狀態的當地語系化字串描述。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

(繼承來源 DkmModuleInstance)
GetSymbolStatusMessage(DkmWorkList, Boolean, DkmCompletionRoutine<DkmGetSymbolStatusMessageAsyncResult>)

取得目前符號狀態的當地語系化字串描述。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

(繼承來源 DkmModuleInstance)
IsSuppressed()

這個方法可讓元件判斷是否隱藏模組的模組載入事件。

此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 引進。

(繼承來源 DkmModuleInstance)
IsTransitionModule()

如果有任何運行時間實例將此模組標示為轉換模組,則會傳回 true。

位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。

(繼承來源 DkmModuleInstance)
IsUserCode()

判斷模組是否被視為使用者程序代碼。

位置條件約束:這個方法可以從IDE元件呼叫。 從 Visual Studio 2013 Update 2 開始,您也可以從 Managed 程式代碼的監視元件呼叫此功能。 從 Visual Studio 2017 Update 8 開始,API 的 CallDirection 是從 'Normal' 建立的,現在可以從任何元件呼叫 AsyncCaller 已設定為 'true',而 CallerLocationConstraint 已從 'NoMarshalling' 設定為 'None'。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 引进。

(繼承來源 DkmModuleInstance)
IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>)

判斷模組是否被視為使用者程序代碼。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:這個方法可以從IDE元件呼叫。 從 Visual Studio 2013 Update 2 開始,您也可以從 Managed 程式代碼的監視元件呼叫此功能。 從 Visual Studio 2017 Update 8 開始,API 的 CallDirection 是從 'Normal' 建立的,現在可以從任何元件呼叫 AsyncCaller 已設定為 'true',而 CallerLocationConstraint 已從 'NoMarshalling' 設定為 'None'。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 引进。

(繼承來源 DkmModuleInstance)
OnBinaryLoaded(String)

引發 BinaryLoaded 事件。 實作事件接收介面的元件將會收到事件通知。 所有元件都收到通知后,控件就會傳回。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 引进。

(繼承來源 DkmModuleInstance)
OnBinaryReloadOpportunity()

引發 BinaryReloadOpportunity 事件。 實作事件接收介面的元件將會收到事件通知。 所有元件都收到通知后,控件就會傳回。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

此 API 是在 Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) 引進。

(繼承來源 DkmModuleInstance)
OnModuleModified()

當模組因 EnC 或動態發出程式代碼而變更時,會呼叫此方法。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。

(繼承來源 DkmModuleInstance)
OnSymbolsLoaded(DkmModule, Boolean)

基底偵錯監視器會叫用這個方法,以回應對IDkmModuleSymbolsLoaded.RaiseSymbolsLoadedEvent 的呼叫。 這個方法必須從事件線程叫用,或從要求線程叫用,作為重載的一部分。 基底偵錯監視器應該同步切換至事件線程、暫停目標進程,以及叫用 OnSymbolsLoaded。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

(繼承來源 DkmModuleInstance)
OnSymbolsUpdated(DkmModule)

引發 ModuleSymbolsUpdated 事件。 實作事件接收介面的元件將會收到事件通知。 所有元件都收到通知后,控件就會傳回。

(繼承來源 DkmModuleInstance)
ReadSymbols()

符號處理程式會叫用這個方法,以讀取符號位於偵錯範圍內存中的 DkmModuleInstances 符號。

(繼承來源 DkmModuleInstance)
RemoveDataItem<T>()

從這個容器中移除 『T』 的實例。 通常不需要呼叫這個方法,因為關閉物件時,數據容器會自動清空。

(繼承來源 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

將新專案放在數據容器中。

(繼承來源 DkmDataContainer)
SetDisabled(Boolean)

匯報 模組上的停用狀態。 這個方法只能從ModuleInstanceLoad事件呼叫。 停用模組時,通常也會隱藏模組載入事件。

(繼承來源 DkmModuleInstance)
SetModule(DkmModule, Boolean)

符號提供者會叫用這個方法,以將 DkmModule 與 DkmModuleInstance 產生關聯,並觸發 ModuleSymbolsLoaded 事件。 DkmModuleInstance 物件只能呼叫一次。 呼叫此 API 會建立 DkmModule-DkmModuleInstance<> 關聯,以及引發 ModuleSymbolsLoaded 事件。

(繼承來源 DkmModuleInstance)
TryLoadBinary()

嘗試使用更新的符號路徑載入先前無法載入的二進位檔。

(繼承來源 DkmModuleInstance)
TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>)

嘗試使用更新的符號路徑載入先前無法載入的二進位檔。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

(繼承來源 DkmModuleInstance)
TryLoadSymbols()

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

(繼承來源 DkmModuleInstance)
TryLoadSymbols(DkmSymbolLoadFlags)

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引進。

(繼承來源 DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

(繼承來源 DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引進。

(繼承來源 DkmModuleInstance)
TryLoadSymbolsCallback()

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

位置條件約束:這可以從用戶端或伺服器呼叫。 這的伺服器實作是一種快取,可防止不必要的網路呼叫。 用戶端會直接移至「實際」實作,這也會確保提早重新嘗試傳回。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引進。

(繼承來源 DkmModuleInstance)
TryLoadSymbolsCallback(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsCallbackAsyncResult>)

呼叫 以起始載入模組時找不到其符號的 DkmModuleInstances 符號載入。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:這可以從用戶端或伺服器呼叫。 這的伺服器實作是一種快取,可防止不必要的網路呼叫。 用戶端會直接移至「實際」實作,這也會確保提早重新嘗試傳回。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引進。

(繼承來源 DkmModuleInstance)
TryLoadSymbolsCallback177(DkmSymbolLoadFlags)

呼叫 以起始載入模組時找不到其符號之 DkmModuleInstances 的本機目前符號載入。

位置條件約束:這可以從用戶端或伺服器呼叫。 這的伺服器實作是一種快取,可防止不必要的網路呼叫。 用戶端會直接移至「實際」實作,這也會確保提早重新嘗試傳回。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引進。

(繼承來源 DkmModuleInstance)
TryLoadSymbolsCallback177(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsCallback177AsyncResult>)

呼叫 以起始載入模組時找不到其符號之 DkmModuleInstances 的本機目前符號載入。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:這可以從用戶端或伺服器呼叫。 這的伺服器實作是一種快取,可防止不必要的網路呼叫。 用戶端會直接移至「實際」實作,這也會確保提早重新嘗試傳回。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引進。

(繼承來源 DkmModuleInstance)
Unload()

將 Unload 物件標示為已卸除,並通知實作事件接收介面的元件。 所有元件都收到通知后,控件就會傳回。

這個方法只能由建立 物件的元件呼叫。

(繼承來源 DkmModuleInstance)
UpdateFunctionTableEntries(DkmProcessorArchitecture, UInt32, Byte[])

由 EnC 引擎呼叫,以更新模組的函式數據表。

此 API 是在 Visual Studio 17 Update 1 (DkmApiVersion.VS17Update1) 引進。

適用於