DkmPendingAddressBreakpoint Třída

Definice

Čekající zarážka, která je požadována k vytvoření vazby na konkrétní instrukční adresu. V integrovaném vývojovém prostředí se tyto zarážky nastavují z okna zásobníku volání, z okna demontáže nebo zadáním šestnáctkové adresy do dialogového okna zarážky funkce. Vzhledem k tomu, že DkmInstructionAddress je zadaný jako vstup, můžou tyto zarážky podporovat moduly runtime, které nemohou zachovat své adresy v řetězci (např. interpret).

public ref class DkmPendingAddressBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")]
public class DkmPendingAddressBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")>]
type DkmPendingAddressBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingAddressBreakpoint
Inherits DkmPendingBreakpoint
Dědičnost
Dědičnost
DkmPendingAddressBreakpoint
Atributy

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).

(Zděděno od DkmPendingBreakpoint)
InstructionAddress

Abstraktní reprezentace umístění spustitelného kódu (např. hodnota EIP). Pokud je adresa instrukce nevyřešená (DkmUnknownInstructionAddress) a obsahuje instrukce procesoru, správce zarážek se pokusí svázat instrukce, pokud se načte modul v daném rozsahu.

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.

(Zděděno od DkmPendingBreakpoint)
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.

(Zděděno od DkmPendingBreakpoint)
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í).

(Zděděno od DkmPendingBreakpoint)
TagValue

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

(Zděděno od DkmPendingBreakpoint)
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.

(Zděděno od DkmPendingBreakpoint)
UniqueId

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

(Zděděno od DkmPendingBreakpoint)

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.

(Zděděno od DkmPendingBreakpoint)
Create(Guid, DkmCompilerId, DkmThread, Boolean, DkmInstructionAddress, DkmDataItem)

Vytvoří nový čekající objekt zarážky. Po vytvoření bude vrácený objekt stále zakázán a správce zarážek ho nebude sledovat. K dokončení inicializace by měl volající nastavit další vlastnosti na zarážce a povolit nebo zaregistrovat ji. Volající zodpovídá za zavření vytvořeného objektu po dokončení.

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).

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
GetBoundBreakpoints()

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

(Zděděno od 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.

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, String)

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

(Zděděno od DkmPendingBreakpoint)
OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

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

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)
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).

(Zděděno od DkmPendingBreakpoint)

Explicitní implementace rozhraní

IDisposable.Dispose()

Čekající zarážka, která je požadována k vytvoření vazby na konkrétní instrukční adresu. V integrovaném vývojovém prostředí se tyto zarážky nastavují z okna zásobníku volání, z okna demontáže nebo zadáním šestnáctkové adresy do dialogového okna zarážky funkce. Vzhledem k tomu, že DkmInstructionAddress je zadaný jako vstup, můžou tyto zarážky podporovat moduly runtime, které nemohou zachovat své adresy v řetězci (např. interpret).

(Zděděno od DkmPendingBreakpoint)

Platí pro