Share via


DkmPendingBreakpoint 類別

定義

與用戶層級建構系結的高階斷點物件 (例如:原始程序檔、函式名稱) 可能會對應至零或多個程式代碼層級建構, (DkmBoundBreakpoint) ,而且可能會隨著時間追蹤。

衍生類別:DkmPendingAddressBreakpoint、DkmPendingAddressNameBreakpoint、DkmPendingDataBreakpoint、DkmPendingFileLineBreakpoint、DkmPendingFunctionBreakpoint

public ref class DkmPendingBreakpoint abstract : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("c9e1ffa4-f943-14bc-5566-00a802dfc66f")]
public abstract class DkmPendingBreakpoint : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("c9e1ffa4-f943-14bc-5566-00a802dfc66f")>]
type DkmPendingBreakpoint = class
    inherit DkmDataContainer
    interface IDisposable
Public MustInherit Class DkmPendingBreakpoint
Inherits DkmDataContainer
Implements IDisposable
繼承
DkmPendingBreakpoint
繼承
DkmPendingBreakpoint
衍生
屬性
實作

屬性

CompilerId

識別來源語言 (例如:C#) 和編譯程式廠商 (例如:Microsoft) 斷點應該系結。 'LanguageId' 可能保留為 Guid.Empty,表示斷點應該系結至所有語言。 'VendorId' 幾乎一律保留為 Guid.Empty,這表示只有已知語言 (編譯程式) 。

IsBarrier

指出此斷點是否為應在硬體上設定的屏障,這適用於 GPU 偵錯。

IsUnloaded

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

(繼承來源 DkmDataContainer)
Process

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

SourceId

識別物件的來源。 SourceId 可用來在多個元件可能建立類別實例的案例中啟用篩選。 例如,來源標識碼可用來判斷斷點是否來自AD7 AL (例如:用戶斷點或其他在SDM層級可見的斷點) ,而不是另一個元件所建立的斷點 (,例如用於逐步執行) 的內部斷點。

TagValue

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

Thread

[選擇性]這個斷點應該引發的線程。 如果為 null,則會在所有線程上引發斷點。

UniqueId

可唯一識別這個擱置斷點物件的 Guid。

方法

Close()

關閉 DkmPendingBreakpoint 物件實例。 這會在所有元件中釋放與此對象相關聯的任何資源。 這包括跨計算機或受控/原生封送處理界限的資源。

當相關聯的 DkmProcess 物件關閉時,會自動關閉 DkmPendingBreakpoint 物件。

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

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

停用暫止斷點物件,使其不再引發。 如果擱置斷點已經系結,則會隱含停用任何系結斷點。

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

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

Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

設定暫止斷點的狀態,讓未來系結之斷點的實例會叫用。 如果暫止斷點尚未註冊,則此方法也會註冊斷點。 註冊擱置斷點包含嘗試針對目前載入的任何模組解析斷點,並將斷點新增至斷點清單,而斷點管理員將在任何模組負載上系結的斷點清單。 如果已註冊擱置斷點,則不會自動啟用現有的系結斷點。 系結斷點必須個別啟用。

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

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

Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

這個方法會註冊擱置的斷點,而不啟用它。 結果是斷點管理員嘗試解析的斷點,但不會引發。 註冊擱置斷點包含嘗試針對目前載入的任何模組解析斷點,並將斷點新增至斷點清單,而斷點管理員將在任何模組負載上系結的斷點清單。

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

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

GetBoundBreakpoints()

GetBoundBreakpoints 會列舉這個 DkmPendingBreakpoint 物件的 DkmBoundBreakpoint 元素。

GetDataItem<T>()

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

(繼承來源 DkmDataContainer)
OnBreakpointBound(DkmBoundBreakpoint[])

斷點已系結時,來自斷點管理員的通知。 在使用者設定斷點的情況下,此通知會傳送至 AD7 AL,而 AD7 AL 會引發 IDebugBreakpointBoundEvent2 至 Visual Studio 調試程式 UI。

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

關於系結斷點狀態的斷點管理員通知。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

關於系結斷點狀態的斷點管理員通知。

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

OnBreakpointMessage(DkmBreakpointMessageLevel, String)

關於系結斷點狀態的斷點管理員通知。

OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

斷點管理員的通知,指出指定的斷點正在解除系結。

OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

引發 BreakpointHitWithError 事件。 實作事件接收介面的元件將會收到事件通知。 這個方法會加入事件佇列,而控件會立即返回呼叫端。

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

RemoveDataItem<T>()

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

(繼承來源 DkmDataContainer)
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

初始化、更新或清除此條件斷點之所有系結斷點上的語言層級條件。 如果相同的斷點同時有語言層級條件和叫用計數條件,則會先套用語言層級條件。

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

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

SetDataItem<T>(DkmDataCreationDisposition, T)

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

(繼承來源 DkmDataContainer)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

初始化、更新或清除這個擱置斷點之所有綁定斷點的叫用計數條件。 如果相同的斷點同時有語言層級條件和叫用計數條件,則會先套用語言層級條件。

請注意,叫用計數條件會在每個系結斷點上獨立運作,而不是在擱置斷點上匯總在一起。 例如,如果點擊計數設定為在點擊時停止 #2,而斷點為兩個不同的位置,則每個位置都會叫用斷點一次,UI 仍然不會進入中斷模式,因為兩個個別系結斷點都未叫用兩次。

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

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

明確介面實作

IDisposable.Dispose()

與用戶層級建構系結的高階斷點物件 (例如:原始程序檔、函式名稱) 可能會對應至零或多個程式代碼層級建構, (DkmBoundBreakpoint) ,而且可能會隨著時間追蹤。

衍生類別:DkmPendingAddressBreakpoint、DkmPendingAddressNameBreakpoint、DkmPendingDataBreakpoint、DkmPendingFileLineBreakpoint、DkmPendingFunctionBreakpoint

適用於