DkmPendingBreakpoint Třída

Definice

Objekt zarážky vysoké úrovně, který je vázaný na konstruktor na úrovni uživatele (např. zdrojový soubor, název funkce), který může být mapován na nulu nebo více konstruktorů na úrovni kódu (DkmBoundBreakpoint) a které lze sledovat v průběhu času.

Odvozené třídy: 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
Dědičnost
DkmPendingBreakpoint
Dědičnost
DkmPendingBreakpoint
Odvozené
Atributy
Implementuje

Vlastnosti

CompilerId

Určuje zdrojový jazyk (např. C#) a dodavatele kompilátoru (např. Microsoft), se kterým by se zarážka měla svázat. LanguageId může být ponecháno jako Guid.Empty, což znamená, že zarážka by se měla svázat se všemi jazyky. VendorId je téměř vždy ponecháno jako Guid.Empty, což značí, že je známý pouze jazyk (nikoli kompilátor).

IsBarrier

Označuje, jestli je tato zarážka bariérou, která by měla být nastavena na hardwaru, funguje to pro ladění GPU.

IsUnloaded

Vrátí hodnotu true, pokud byla pro tento objekt vyvolána událost unloaded (příklad: DkmThread::Unload je volána) nebo pokud byl objekt uzavřen. Mějte na paměti, že při kontrole tohoto stavu je potřeba střídmět, protože bez synchronizace nemusí být vrácený stav po přečtení přesný.

(Zděděno od DkmDataContainer)
Process

DkmProcess představuje cílový proces, který se ladí. Ladicí program ladí procesy, takže se jedná o základní jednotku ladění. DkmProcess může představovat systémový proces nebo virtuální proces, například minidumps.

SourceId

Identifikuje zdroj objektu. SourceId se používají k povolení filtrování ve scénářích, kdy více komponent může vytvářet instance třídy. Id zdroje je například možné použít k určení, jestli zarážka pochází z al AD7 (např. uživatelská zarážka nebo jiná zarážka viditelná na úrovni SDM) namísto zarážky, kterou může vytvořit jiná komponenta (například interní zarážka používaná pro krokování).

TagValue

DkmPendingBreakpoint je abstraktní základní třída. Tento výčet označuje, které odvozené třídy je tento objekt instancí.

Thread

[Volitelné] Vlákno, na kterém by se tato zarážka měla aktivovat. Pokud je hodnota null, zarážka se aktivuje na všech vláknech.

UniqueId

Identifikátor GUID, který jednoznačně identifikuje tento čekající objekt zarážky.

Metody

Close()

Zavře instanci objektu DkmPendingBreakpoint. Tím se uvolní všechny prostředky přidružené k tomuto objektu napříč všemi komponentami. To zahrnuje prostředky napříč počítači nebo spravovanými nebo nativními hranicemi seřazování.

DkmPendingBreakpoint objekty jsou automaticky uzavřeny při jejich přidružené DkmProcess objekt je uzavřen.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

Zakažte objekt čekající zarážky, aby se už neaktivovalo. Pokud je čekající zarážka již svázaná, budou všechny vázané zarážky implicitně zakázány.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

Nastaví stav čekající zarážky tak, aby instance zarážky, které se v budoucnu sváže, byly nalezeny. Pokud čekající zarážka ještě není zaregistrovaná, pak tato metoda také zaregistruje zarážku. Registrace čekající zarážky spočívá v pokusu o překlad zarážky proti modulům, které jsou aktuálně načteny, a přidání zarážky do seznamu zarážek, které správce zarážek sváže při každém načtení modulu. Pokud už je čekající zarážka zaregistrovaná, stávající vázané zarážky se automaticky nepovolí. Vázané zarážky se musí povolit samostatně.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

Tato metoda zaregistruje čekající zarážku bez povolení. Výsledkem je zarážka, kterou se správce zarážek pokusí vyřešit, ale která se neaktivuje. Registrace čekající zarážky spočívá v pokusu o překlad zarážky proti modulům, které jsou aktuálně načteny, a přidání zarážky do seznamu zarážek, které správce zarážek sváže při každém načtení modulu.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

GetBoundBreakpoints()

GetBoundBreakpoints vytvoří výčet DkmBoundBreakpoint elementy tohoto objektu DkmPendingBreakpoint.

GetDataItem<T>()

Získá instanci T, která byla přidána do této instance kontejneru. Pokud tento kontejner neobsahuje "T", vrátí tato funkce hodnotu null.

(Zděděno od DkmDataContainer)
OnBreakpointBound(DkmBoundBreakpoint[])

Oznámení od správce zarážek, když je zarážka svázaná. V případě zarážek sady uživatelů se toto oznámení odešle do al ad7 a AD7 AL aktivuje IDebugBreakpointBoundEvent2 do uživatelského rozhraní ladicího programu sady Visual Studio.

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

Oznámení správce zarážky o stavu vazby zarážky.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6).

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

Oznámení správce zarážky o stavu vazby zarážky.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4).

OnBreakpointMessage(DkmBreakpointMessageLevel, String)

Oznámení správce zarážky o stavu vazby zarážky.

OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

Oznámení od správce zarážek, které indikuje, že daná zarážka je nevázaná.

OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

Vytvořte událost BreakpointHitWithError. Komponenty, které implementují rozhraní jímky událostí, obdrží oznámení o události. Tato metoda zařadí událost do fronty a ovládací prvek se okamžitě vrátí volajícímu.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

RemoveDataItem<T>()

Odeberte z tohoto kontejneru instanci T. Obvykle není nutné volat tuto metodu, protože kontejner dat se při zavření objektu automaticky vyprázdní.

(Zděděno od DkmDataContainer)
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

Inicializuje, aktualizuje nebo vymaže podmínku na úrovni jazyka u všech vázaných zarážek této zarážky. Pokud má stejná zarážka podmínku na úrovni jazyka i podmínku počtu přístupů, použije se jako první podmínka na úrovni jazyka.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

SetDataItem<T>(DkmDataCreationDisposition, T)

Do kontejneru dat umístěte novou položku.

(Zděděno od DkmDataContainer)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

Inicializuje, aktualizuje nebo vymaže podmínku počtu přístupů na všechny vázané zarážky této čekající zarážky. Pokud má stejná zarážka podmínku na úrovni jazyka i podmínku počtu přístupů, použije se jako první podmínka na úrovni jazyka.

Všimněte si, že podmínka počtu přístupů funguje nezávisle na každé vázané zarážce, místo aby se agregovala na čekající zarážce. Pokud je například počet přístupů nakonfigurovaný tak, aby se zastavil na hitu č. 2, a zarážka se nachází na dvou samostatných umístěních, z nichž každé dosáhne zarážky jednou, uživatelské rozhraní stále nepřejde do režimu přerušení, protože ani jeden z jednotlivých vázaných zarážek nesáhl dvakrát.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

Explicitní implementace rozhraní

IDisposable.Dispose()

Objekt zarážky vysoké úrovně, který je vázaný na konstruktor na úrovni uživatele (např. zdrojový soubor, název funkce), který může být mapován na nulu nebo více konstruktorů na úrovni kódu (DkmBoundBreakpoint) a které lze sledovat v průběhu času.

Odvozené třídy: DkmPendingAddressBreakpoint, DkmPendingAddressNameBreakpoint, DkmPendingDataBreakpoint, DkmPendingFileLineBreakpoint, DkmPendingFunctionBreakpoint

Platí pro