DkmPendingBreakpoint 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
與用戶層級建構系結的高階斷點物件 (例如:原始程序檔、函式名稱) 可能會對應至零或多個程式代碼層級建構, (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
- 繼承
- 繼承
- 衍生
- 屬性
- 實作
屬性
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 |