Share via


DkmScriptInstructionSymbol 類別

定義

DkmScriptInstructionSymbol 可用來代表以腳本為基礎的運行時間環境中可執行的語句,例如 Microsoft JavaScript 引擎。

public ref class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[System.Runtime.InteropServices.Guid("aebaa0af-6437-2ecf-aaf1-86c58eba9447")]
public class DkmScriptInstructionSymbol : Microsoft.VisualStudio.Debugger.Symbols.DkmInstructionSymbol
[<System.Runtime.InteropServices.Guid("aebaa0af-6437-2ecf-aaf1-86c58eba9447")>]
type DkmScriptInstructionSymbol = class
    inherit DkmInstructionSymbol
Public Class DkmScriptInstructionSymbol
Inherits DkmInstructionSymbol
繼承
DkmScriptInstructionSymbol
屬性

屬性

AdditionalData

[選擇性]與地址相關聯的其他運行時間特定數據。 比較位址時,將不會使用此數據。

Document

包含此指令的檔。

Module

DkmModule 類別代表程式代碼組合 (例如:dll 或 exe) ,也就是或一次載入一或多個進程。 DkmModule 類別是符號 API 的中央物件,而且是 1:1,而符號處理程式會表示載入的內容。 如果程式代碼組合載入三個不同的進程 (或相同的進程,但有三個不同的基位址或三個不同的應用程式域) 但符號處理程式會將這兩者視為相同,則只有一個模組物件。

(繼承來源 DkmInstructionSymbol)
Revision

表示插入這個物件所表示之語句的修訂編號。 一般而言,對於非動態檔而言,這會是零。

RuntimeType

運行時間識別碼段的執行環境。 發送器會使用運行時間標識碼來決定要分派的監視。 請注意,運行時間標識符 Guid 的排序稍微重要,這表示在仲裁期間,哪個運行時間會取得第一次。 因此,如果想要宣告建置在CLR上的新運行時間實例,運行時間標識碼應該小於 DkmRuntimeId.Clr。

(繼承來源 DkmInstructionSymbol)
StartIndex

表示這個語句的起始字元索引,相對於插入此語句的修訂開頭。

StatementLength

語句的長度 (字元) 。

TagValue

DkmInstructionSymbol 是抽象基類。 這個列舉表示這個對像是實例的衍生類別。

(繼承來源 DkmInstructionSymbol)

方法

Bind(DkmModuleInstance)

將指令符號系結至特定模組實例。 指令符號會連線到 DkmModule,而不是 DkmModuleInstance,因此它不會繫結至特定進程、應用程式域或模組基位址。

(繼承來源 DkmInstructionSymbol)
Create(DkmModule, Guid, DkmScriptDocument, Int32, Int32, Int32, ReadOnlyCollection<Byte>)

Create 新的 DkmScriptInstructionSymbol 物件實例。

GetAlternateSourcePosition(DkmSourcePositionFlags)

傳回替代原始程式檔位置 (例如:此指令符號example.cs行 12 行) 。 這目前用於來源對應案例,以傳回原始 (未對應的) 來源位置。 如果找不到主要來源位置,調試程式 UI 會呼叫此 API。

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

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

(繼承來源 DkmInstructionSymbol)
GetBasicInfo(DkmWorkList, DkmModuleInstance, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetBasicSymbolInfoAsyncResult>)

以異步方式計算指定 DkmInstructionSymbol 的基本符號資訊。

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

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

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

(繼承來源 DkmInstructionSymbol)
GetCompilerId(DkmInspectionSession)

傳回指定符號 (LanguageId/VendorId) 編譯程式識別符。

針對 Microsoft PDB 讀取器,如果 PDB 是由使用 ISymUnmanagedWriter 的編譯程式所建立,則 PDB 讀取器將能夠從從 ISymUnmanagedWriter.DefineDocument 傳遞的 LanguageId/VendorId 配對判斷正確的 DkmCompilerId。

如果 PDB 是由未使用 ISymUnmanagedWriter 的編譯程式所建立,PDB 讀取器或許可以從 S_COMPILE* PDB 記錄取得 DkmCompilerId。 若要讓此作業正常運作,編譯程式必須先為每個編譯者發出S_COMPILE* 記錄。 編譯程式必須確實正確填寫語言列舉值和編譯程式字串。 編譯程式應該確保編譯程式字串足以用於選取表達式評估工具;建議包含公司名稱。 發出列舉/名稱組之後,表達式評估工具的設定應該接著向調試程序註冊此配對。 若要這樣做,表達式評估工具應該設定此登錄機碼:%VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% 並定義 VendorId/LanguageId。

(繼承來源 DkmInstructionSymbol)
GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>)

傳回指定符號 (LanguageId/VendorId) 編譯程式識別符。

針對 Microsoft PDB 讀取器,如果 PDB 是由使用 ISymUnmanagedWriter 的編譯程式所建立,則 PDB 讀取器將能夠從從 ISymUnmanagedWriter.DefineDocument 傳遞的 LanguageId/VendorId 配對判斷正確的 DkmCompilerId。

如果 PDB 是由未使用 ISymUnmanagedWriter 的編譯程式所建立,PDB 讀取器或許可以從 S_COMPILE* PDB 記錄取得 DkmCompilerId。 若要讓此作業正常運作,編譯程式必須先為每個編譯者發出S_COMPILE* 記錄。 編譯程式必須確實正確填寫語言列舉值和編譯程式字串。 編譯程式應該確保編譯程式字串足以用於選取表達式評估工具;建議包含公司名稱。 發出列舉/名稱組之後,表達式評估工具的設定應該接著向調試程序註冊此配對。 若要這樣做,表達式評估工具應該設定此登錄機碼:%VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% 並定義 VendorId/LanguageId。

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

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

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

(繼承來源 DkmInstructionSymbol)
GetCurrentStatementRange()

這個方法會傳回 IL 位移範圍,其中包含指令位址中指定的目前 IL 位移。

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

(繼承來源 DkmInstructionSymbol)
GetDisassemblyLabel(DkmInspectionSession)

傳回符號的名稱,因為它應該出現在反組譯碼視窗中。 對於 Microsoft C++ 程式代碼,這是以公用符號名稱為基礎。

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

(繼承來源 DkmInstructionSymbol)
GetEmbeddedDocument()

傳回包含此符號的內嵌檔。 如果內嵌檔不存在,則傳回S_FALSE。

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

此 API 是在 Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) 引進。

(繼承來源 DkmInstructionSymbol)
GetGPUInstructionMetadataCallback(DkmInstructionAddress, DkmInstructionSymbol)

這個方法會將位址資訊傳回 GPU 偵錯監視器。

(繼承來源 DkmInstructionSymbol)
GetInlineFramesCount(DkmBasicSymbolInfoRequestFlags)

傳回指定指令符號處的內嵌框架數目。

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

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

(繼承來源 DkmInstructionSymbol)
GetInlineFramesCount(DkmWorkList, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetInlineFramesCountAsyncResult>)

傳回指定指令符號處的內嵌框架數目。

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

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

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

(繼承來源 DkmInstructionSymbol)
GetInlineSourcePosition(DkmStackWalkFrame, Boolean)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 位於指定的內嵌框架編號。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

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

(繼承來源 DkmInstructionSymbol)
GetInlineSourcePosition(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetInlineSourcePositionAsyncResult>)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 位於指定的內嵌框架編號。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

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

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

(繼承來源 DkmInstructionSymbol)
GetNextSteppingAction(DkmScriptInstructionSymbol, Boolean)

腳本符號提供者所實作的回呼,告知腳本偵錯在逐步執行時監視接下來要執行的動作。

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

GetNoSourceRanges()

查詢符號提供者,以判斷未對應至任何使用者來源語句的指令範圍,並由基底偵錯監視器用來在逐步執行期間一律逐步執行。

(繼承來源 DkmInstructionSymbol)
GetSourcePosition(DkmSourcePositionFlags, DkmInspectionSession, Boolean)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

(繼承來源 DkmInstructionSymbol)
GetSourcePosition(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionAsyncResult>)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

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

(繼承來源 DkmInstructionSymbol)
GetSourcePositionCallback(DkmSourcePositionFlags, DkmInspectionSession, Boolean)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

(繼承來源 DkmInstructionSymbol)
GetSourcePositionCallback(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionCallbackAsyncResult>)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式檔沒有關聯,則會在原生) 傳回 null (S_FALSE 傳回碼。

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

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

(繼承來源 DkmInstructionSymbol)
GetSteppingRanges(DkmSteppingRangeBoundary, Boolean)

查詢符號提供者,以判斷基底偵錯監視器應該逐步執行以實作步驟的指示範圍。

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

(繼承來源 DkmInstructionSymbol)
GetSteppingRanges(DkmWorkList, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>)

查詢符號提供者,以判斷基底偵錯監視器應該逐步執行以實作步驟的指示範圍。

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

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

(繼承來源 DkmInstructionSymbol)
GetUserCodeSourcePositionCallback(DkmInspectionSession)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式代碼中沒有關聯,則會傳回 null (E_INSTRUCTION_NO_SOURCE 傳回碼) 。

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

(繼承來源 DkmInstructionSymbol)
GetUserCodeSourcePositionCallback(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetUserCodeSourcePositionCallbackAsyncResult>)

傳回來源檔案位置 (例如:example.cs,此指令符號的第 12 行) 。 如果這個指令符號與原始程式代碼中沒有關聯,則會傳回 null (E_INSTRUCTION_NO_SOURCE 傳回碼) 。

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

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

(繼承來源 DkmInstructionSymbol)
HasEmbeddedDocument()

測試指定的符號是否有內嵌檔。 內嵌檔是原始程式檔 (例如:main.cs) 内嵌在符号档内 (,例如:example.pdb) 。

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

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 引進。

(繼承來源 DkmInstructionSymbol)
HasLineInfo()

查詢符號提供者,以判斷是否有行資訊。 偵錯監視器用來判斷位置是否可視為用戶程序代碼。

位置條件約束:對於一般符號,可以從任何元件呼叫。 針對動態符號,只能在伺服器端呼叫。

(繼承來源 DkmInstructionSymbol)
HasLineInfo(DkmWorkList, DkmCompletionRoutine<DkmHasLineInfoAsyncResult>)

查詢符號提供者,以判斷是否有行資訊。 偵錯監視器用來判斷位置是否可視為用戶程序代碼。

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

位置條件約束:對於一般符號,可以從任何元件呼叫。 針對動態符號,只能在伺服器端呼叫。

(繼承來源 DkmInstructionSymbol)
IsHiddenCode(DkmWorkList, DkmInspectionSession, DkmInstructionAddress, DkmCompletionRoutine<DkmIsHiddenCodeAsyncResult>)

如果這個指令符號位於隱藏的程式代碼中,則傳回 。 例如,在Managed程式碼中,行號0xfeefee將源行標示為隱藏。

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

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

(繼承來源 DkmInstructionSymbol)

適用於