DkmPendingFunctionBreakpoint Klasa

Definicja

Oczekujący punkt przerwania, który jest żądany do powiązania z elementami kodu, które mają określoną nazwę funkcji.

public ref class DkmPendingFunctionBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("b463b9e3-5b9f-e0e4-f0e9-4f38c63ef443")]
public class DkmPendingFunctionBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("b463b9e3-5b9f-e0e4-f0e9-4f38c63ef443")>]
type DkmPendingFunctionBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingFunctionBreakpoint
Inherits DkmPendingBreakpoint
Dziedziczenie
Dziedziczenie
DkmPendingFunctionBreakpoint
Atrybuty

Właściwości

CompilerId

Identyfikuje język źródłowy (np. C#) i dostawcę kompilatora (np. Microsoft), z którymi punkt przerwania powinien być powiązany. Wartość "LanguageId" może być pozostawiona jako Guid.Empty, aby wskazać, że punkt przerwania powinien być powiązany ze wszystkimi językami. "VendorId" jest prawie zawsze pozostawiony jako Guid.Empty, co wskazuje, że tylko język jest znany (a nie kompilator).

(Odziedziczone po DkmPendingBreakpoint)
FunctionName

Nazwa funkcji, z która ma być powiązana.

IsBarrier

Wskazuje, czy ten punkt przerwania jest barierą, która powinna być ustawiona na sprzęcie, działa to na potrzeby debugowania procesora GPU.

(Odziedziczone po DkmPendingBreakpoint)
IsUnloaded

Zwraca wartość true, jeśli dla tego obiektu zostało zgłoszone zdarzenie "zwolniony" (na przykład: DkmThread::Unload jest wywoływane) lub jeśli obiekt został zamknięty. Należy pamiętać, że podczas sprawdzania tego stanu należy zachować ostrożność, ponieważ bez synchronizacji zwrócony stan może nie być już dokładny po odczytaniu instrukcji.

(Odziedziczone po DkmDataContainer)
LineOffset

Wiersz funkcji, z która ma być powiązana.

ModuleName

[Opcjonalnie] Nazwa modułu do wyszukania punktu przerwania. Jeśli ma wartość null, wszystkie moduły zostaną przeszukane.

Process

DkmProcess reprezentuje proces docelowy, który jest debugowany. Debuger debuguje procesy, więc jest to podstawowa jednostka debugowania. Proces DkmProcess może reprezentować proces systemowy lub proces wirtualny, taki jak minidumps.

(Odziedziczone po DkmPendingBreakpoint)
SourceId

Identyfikuje źródło obiektu. Identyfikatory SourceId służą do włączania filtrowania w scenariuszach, gdy wiele składników może tworzyć wystąpienia klasy. Na przykład identyfikatory źródła mogą służyć do określenia, czy punkt przerwania pochodzi z usługi AD7 AL (np. punkt przerwania użytkownika lub inny punkt przerwania widoczny na poziomie SDM) zamiast punktu przerwania, który może zostać utworzony przez inny składnik (na przykład wewnętrzny punkt przerwania używany do kroku).

(Odziedziczone po DkmPendingBreakpoint)
TagValue

DkmPendingBreakpoint jest abstrakcyjną klasą bazową. To wyliczenie wskazuje, której klasy pochodnej ten obiekt jest wystąpieniem.

(Odziedziczone po DkmPendingBreakpoint)
Thread

[Opcjonalnie] Wątek, na którym powinien zostać wyzwolony ten punkt przerwania. Jeśli ma wartość null, punkt przerwania zostanie wyzwolony na wszystkich wątkach.

(Odziedziczone po DkmPendingBreakpoint)
UniqueId

Identyfikator GUID, który jednoznacznie identyfikuje ten oczekujący obiekt punktu przerwania.

(Odziedziczone po DkmPendingBreakpoint)

Metody

Close()

Zamyka wystąpienie obiektu DkmPendingBreakpoint. Spowoduje to zwolnienie wszystkich zasobów skojarzonych z tym obiektem we wszystkich składnikach. Obejmuje to zasoby między granicami zarządzania komputerami lub zarządzanymi/natywnymi marshallingami.

Obiekty DkmPendingBreakpoint są automatycznie zamykane po zamknięciu skojarzonego obiektu DkmProcess.

Ta metoda może być wywoływana tylko przez składnik, który utworzył obiekt.

(Odziedziczone po DkmPendingBreakpoint)
Create(DkmProcess, Guid, DkmCompilerId, DkmThread, Boolean, String, String, UInt32, DkmDataItem)

Tworzy nowy oczekujący obiekt punktu przerwania. Po utworzeniu zwrócony obiekt będzie nadal wyłączony i nie będzie śledzony przez menedżera punktu przerwania. Aby ukończyć inicjowanie, obiekt wywołujący powinien ustawić dodatkowe właściwości w punkcie przerwania i "Włącz" lub "Zarejestruj". Obiekt wywołujący jest odpowiedzialny za zamknięcie utworzonego obiektu po zakończeniu.

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

Wyłącz oczekujący obiekt punktu przerwania, aby nie został już wyzwolony. Jeśli oczekujący punkt przerwania jest już powiązany, wszystkie powiązane punkty przerwania zostaną niejawnie wyłączone.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

(Odziedziczone po DkmPendingBreakpoint)
Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

Ustawia stan oczekującego punktu przerwania, aby wystąpienia punktu przerwania powiązane w przyszłości zostaną trafione. Jeśli oczekujący punkt przerwania nie został jeszcze zarejestrowany, ta metoda również zarejestruje punkt przerwania. Zarejestrowanie oczekującego punktu przerwania polega na próbie rozwiązania punktu przerwania względem wszystkich modułów, które są aktualnie ładowane i dodawania punktu przerwania do listy punktów przerwania, które menedżer punktów przerwania będzie wiązać z dowolnym obciążeniem modułu. Jeśli oczekujący punkt przerwania jest już zarejestrowany, istniejące powiązane punkty przerwania nie zostaną automatycznie włączone. Powiązane punkty przerwania muszą być włączone oddzielnie.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

(Odziedziczone po DkmPendingBreakpoint)
Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

Ta metoda zarejestruje oczekujący punkt przerwania bez włączenia go. Wynikiem jest punkt przerwania, który menedżer punktu przerwania podejmie próbę rozwiązania, ale nie zostanie wyzwolony. Zarejestrowanie oczekującego punktu przerwania polega na próbie rozwiązania punktu przerwania względem wszystkich modułów, które są aktualnie ładowane i dodawania punktu przerwania do listy punktów przerwania, które menedżer punktów przerwania będzie wiązać z dowolnym obciążeniem modułu.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

(Odziedziczone po DkmPendingBreakpoint)
GetBoundBreakpoints()

GetBoundBreakpoints wylicza elementy DkmBoundBreakpoint tego obiektu DkmPendingBreakpoint.

(Odziedziczone po DkmPendingBreakpoint)
GetDataItem<T>()

Pobiera wystąpienie elementu "T", które zostało dodane do tego wystąpienia kontenera. Jeśli ten kontener nie zawiera ciągu "T", ta funkcja zwróci wartość null.

(Odziedziczone po DkmDataContainer)
OnBreakpointBound(DkmBoundBreakpoint[])

Powiadomienie z menedżera punktu przerwania, gdy punkt przerwania został powiązany. W przypadku punktów przerwania zestawu użytkowników to powiadomienie zostanie wysłane do usługi AD7 AL, a usługa AD7 AL uruchomi interfejs użytkownika IDebugBreakpointBoundEvent2 do interfejsu użytkownika debugera programu Visual Studio.

(Odziedziczone po DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

Powiadomienie od menedżera punktu przerwania dotyczące stanu powiązania punktu przerwania.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6).

(Odziedziczone po DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

Powiadomienie od menedżera punktu przerwania dotyczące stanu powiązania punktu przerwania.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4).

(Odziedziczone po DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, String)

Powiadomienie od menedżera punktu przerwania dotyczące stanu powiązania punktu przerwania.

(Odziedziczone po DkmPendingBreakpoint)
OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

Powiadomienie z menedżera punktu przerwania wskazujące, że dany punkt przerwania jest niezwiązany.

(Odziedziczone po DkmPendingBreakpoint)
OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

Zgłoś zdarzenie BreakpointHitWithError. Składniki, które implementują interfejs ujścia zdarzeń, otrzymają powiadomienie o zdarzeniu. Ta metoda spowoduje w kolejce zdarzenie, a kontrolka natychmiast powróci do elementu wywołującego.

Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

(Odziedziczone po DkmPendingBreakpoint)
RemoveDataItem<T>()

Usuń wystąpienie elementu "T" z tego kontenera. Zwykle wywołanie tej metody jest niepotrzebne, ponieważ kontener danych zostanie automatycznie opróżniony po zamknięciu obiektu.

(Odziedziczone po DkmDataContainer)
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

Zainicjuj, zaktualizuj lub wyczyść warunek poziomu języka dla wszystkich powiązanych punktów przerwania tego warunku. Jeśli ten sam punkt przerwania ma zarówno warunek na poziomie języka, jak i warunek liczby trafień, najpierw zostanie zastosowany warunek poziomu języka.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

(Odziedziczone po DkmPendingBreakpoint)
SetDataItem<T>(DkmDataCreationDisposition, T)

Umieść nowy element w kontenerze danych.

(Odziedziczone po DkmDataContainer)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

Zainicjuj, zaktualizuj lub wyczyść warunek liczby trafień dla wszystkich powiązanych punktów przerwania tego oczekującego punktu przerwania. Jeśli ten sam punkt przerwania ma zarówno warunek na poziomie języka, jak i warunek liczby trafień, najpierw zostanie zastosowany warunek poziomu języka.

Należy pamiętać, że warunek liczby trafień działa niezależnie na każdym powiązanym punkcie przerwania, a nie jest agregowany razem w oczekującym punkcie przerwania. Jeśli na przykład liczba trafień została skonfigurowana tak, aby zatrzymała się przy trafieniu #2, a punkt przerwania do dwóch oddzielnych lokalizacji, z których każdy raz osiągnie punkt przerwania, interfejs użytkownika nadal nie przejdzie w tryb przerwania, ponieważ żaden pojedynczy powiązany punkt przerwania nie został osiągnięty dwa razy.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

(Odziedziczone po DkmPendingBreakpoint)

Jawne implementacje interfejsu

IDisposable.Dispose()

Oczekujący punkt przerwania, który jest żądany do powiązania z elementami kodu, które mają określoną nazwę funkcji.

(Odziedziczone po DkmPendingBreakpoint)

Dotyczy