DkmClrRuntimeInstance Klasa

Definicja

Reprezentuje wystąpienie środowiska CLR uruchomione w procesie docelowym.

Klasy pochodne: DkmClrNcRuntimeInstance

public ref class DkmClrRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("ea234770-c86f-1706-8842-c6fb5311ba79")]
public class DkmClrRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("ea234770-c86f-1706-8842-c6fb5311ba79")>]
type DkmClrRuntimeInstance = class
    inherit DkmRuntimeInstance
Public Class DkmClrRuntimeInstance
Inherits DkmRuntimeInstance
Dziedziczenie
Dziedziczenie
Pochodne
Atrybuty

Właściwości

Capabilities

Wyliczanie możliwości środowiska uruchomieniowego.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
Connection

Reprezentuje to połączenie między monitorem a środowiskiem IDE. Może to być połączenie lokalne, jeśli monitor jest uruchomiony w tym samym procesie co środowisko IDE lub może być połączeniem zdalnym. W procesie monitorowania istnieje tylko jedno połączenie.

(Odziedziczone po DkmRuntimeInstance)
CORSystemDirectory

[Opcjonalnie] Katalog instalacyjny wystąpienia środowiska uruchomieniowego języka wspólnego (CLR). Na przykład "c:\Windows\Microsoft.NET\Framework\v2.0.50727". Jest to ta sama ścieżka zwrócona z interfejsu API GetCORSystemDirectory i zawsze zawiera ukośnik końcowy.

Id

Identyfikuje obiekt DkmRuntimeInstance w ramach procesu.

(Odziedziczone po DkmRuntimeInstance)
IsUnloaded

Zwraca wartość true, jeśli dla tego obiektu zostało podniesione zdarzenie "unloaded" (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)
ParentRuntime

[Opcjonalnie] W przypadku środowisk uruchomieniowych, które są implementowane w innym środowisku uruchomieniowym, można to opcjonalnie użyć do poważania elementu nadrzędnego logicznego. Następnie może służyć do żądania usług od elementu nadrzędnego, gdy środowisko uruchomieniowe podrzędne nie implementuje usługi. Jest to obecnie używane tylko do uzyskiwania ramki stosu górnego do oceny warunkowego punktu przerwania, gdy podrzędne środowisko uruchomieniowe nie przechodzi stosów.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
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 DkmRuntimeInstance)
RuntimeVersion

[Opcjonalnie] Ciąg wersji dla wystąpienia ŚRODOWISKA CLR (np. "v2.0.50727").

TagValue

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

(Odziedziczone po DkmRuntimeInstance)

Metody

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

AfterSteppingArbitration jest wywoływana przez menedżera krokowego w starym wystąpieniu środowiska uruchomieniowego kontroli po zakończeniu procedury arbitrażowej, ale przed rozpoczęciem następnego wystąpienia środowiska uruchomieniowego krok po kroku. Dzięki temu środowiska uruchomieniowe mogą wyczyścić stan kroku, jeśli inne środowisko uruchomieniowe przejęło kontrolę. Jeśli żaden inny monitor środowiska uruchomieniowego nie twierdził bieżącej lokalizacji, oryginalny monitor powinien zakończyć krok. Wskazuje to, że klasa NewControllingRuntimeInstance ma wartość null. Na przykład wystąpienie środowiska uruchomieniowego może zdecydować się na powrót, jeśli krok w miejscu nie znajduje się bez symboli, a żadne inne środowisko uruchomieniowe nie przejęło kontroli.

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

(Odziedziczone po DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

BeforeEnableNewStepper jest wywoływany przez menedżera krokowego przed włączeniem nowego kroku. Dzięki temu środowisko uruchomieniowe może wykonywać wszelkie czynności inicjacyjne, które mogą być wymagane, takie jak wykonywanie ocen funkcji wstępnych.

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

(Odziedziczone po DkmRuntimeInstance)
BindMethodToObject(DkmStackWalkFrame, UInt64, DkmClrModuleInstance, Int32, DkmClrType, Int32)

Próbuje powiązać metodę opisaną przez token i moduł z tym obiektem.

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

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

CanDoFuncEval(DkmThread)

Sprawdza, czy dany wątek jest w stanie, w którym clR obsługuje zarządzane func-evals.

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

ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String)

Kontynuuj proces i poczekaj na ukończenie func-eval. Obiekt wywołujący powinien zawsze wykonywać polecenie "CanDoFuncEval" przed utworzeniem elementu ICorDebugEval i skonfigurowaniem oceny.

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

ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String, DkmClrInstructionAddress)

Kontynuuj proces i poczekaj na ukończenie func-eval. Obiekt wywołujący powinien zawsze wykonywać polecenie "CanDoFuncEval" przed utworzeniem elementu ICorDebugEval i skonfigurowaniem oceny.

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

Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, String, String, DkmDataItem)

Tworzy nowy obiekt wystąpienia środowiska uruchomieniowego na podstawie monitora debugowania. Ta metoda musi być wywoływana z wątku zdarzeń, gdy monitor debugowania wykryje, że nowe wystąpienie środowiska uruchomieniowego zostało załadowane (na przykład gdy odpowiedni plik DLL środowiska uruchomieniowego zostanie załadowany w procesie docelowym).

Ta metoda wyśle zdarzenie RuntimeInstanceLoad.

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

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmProcess, DkmRuntimeInstanceId, String, String, DkmDataItem)

Tworzy nowy obiekt wystąpienia środowiska uruchomieniowego na podstawie monitora debugowania. Ta metoda musi być wywoływana z wątku zdarzeń, gdy monitor debugowania wykryje, że nowe wystąpienie środowiska uruchomieniowego zostało załadowane (na przykład gdy odpowiedni plik DLL środowiska uruchomieniowego zostanie załadowany w procesie docelowym).

Ta metoda wyśle zdarzenie RuntimeInstanceLoad.

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

Disassemble(DkmInstructionAddress, UInt32)

Zdezasembluj zakres adresów w środowisku uruchomieniowym debuggee.

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

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
FindAppDomain(Int32)

Znajdź element DkmClrAppDomain w ramach tej klasy DkmClrRuntimeInstance. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, funkcja FindAppDomain zakończy się niepowodzeniem.

FindClrModuleInstance(ICorDebugModule)

Uzyskuje klasę DkmClrModuleInstance z modułu ICorDebugModule.

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

FindModulesByName(String)

Ta metoda zwraca wszystkie moduły zgodne z określoną nazwą.

(Odziedziczone po DkmRuntimeInstance)
GetActiveStatements(DkmActiveStatement[])

Zawiera stos wszystkich aktywnych instrukcji we wszystkich wątkach. Dlatego jeśli ta sama funkcja jest w stosie wywołań wiele razy, zostanie zduplikowana w tej tablicy. Wpisy w stosie są grupowane według wątku.

Ograniczenie lokalizacji: może być wywoływany z klienta po stronie serwera.

Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

GetActiveStatements(DkmWorkList, DkmCompletionRoutine<DkmGetActiveStatementsAsyncResult>)

Zawiera stos wszystkich aktywnych instrukcji we wszystkich wątkach. Dlatego jeśli ta sama funkcja jest w stosie wywołań wiele razy, zostanie zduplikowana w tej tablicy. Wpisy w stosie są grupowane według wątku.

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ę uzupełniania.

Ograniczenie lokalizacji: może być wywoływany z klienta po stronie serwera.

Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

GetAliases(DkmInspectionContext)

Pobiera listę aliasów, które mogą być obecnie używane w wyrażeniach.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetAppDomains()

GetAppDomains wylicza elementy DkmClrAppDomain tego obiektu DkmClrRuntimeInstance.

GetApplyUpdateCapabilities()

Pobierz ciąg możliwości zestawu edycji i kontynuuj obsługiwanych przez środowisko uruchomieniowe.

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

Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

GetApplyUpdateCapabilities(DkmWorkList, DkmCompletionRoutine<DkmGetApplyUpdateCapabilitiesAsyncResult>)

Pobierz ciąg możliwości zestawu edycji i kontynuuj obsługiwanych przez środowisko uruchomieniowe.

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ę uzupełniania.

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

Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

GetArrayLayoutForType(DkmManagedTypeId)

Biorąc pod uwagę identyfikator typu zarządzanego, pobierz układ tablicy tego typu.

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

GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

Polecenie GetCodePathsInRange jest wywoływane w celu pobrania ścieżek kodu w określonym zakresie IL.

Ograniczenie lokalizacji: powinno być wywoływane tylko po stronie serwera.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
GetCorFrame(DkmThread, UInt64, Guid)

Element GetCorFrame służy do uzyskiwania elementu ICorDebugFrame, którego składnik może użyć do głębokiego sprawdzenia ramki stosu.

Zwrócony interfejs może służyć tylko do sprawdzania procesu docelowego i nigdy nie powinien być używany do kontrolowania wykonywania (bez wykonywania kroków, bez punktów przerwania, bez kontynuowania itp.). Takie działanie jest nieobsługiwane i spowoduje niezdefiniowane zachowanie.

Ograniczenie lokalizacji: ten interfejs API musi być wywoływany z tego samego procesu, w którym docelowe środowisko uruchomieniowe implementuje przewodnik stosu. W przypadku debugowania zarządzanego oznacza to, że podczas debugowania procesów 64-bitowych lub zdalnych ten interfejs API musi być wywoływany ze składnika monitora debugowania.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetCorProcess()

Zapewnia bezpośredni dostęp do obiektu ICorDebugProcess, który ewaluatorzy wyrażeń lub inne składniki mogą być używane do inspekcji.

Zwrócony interfejs może służyć tylko do sprawdzania procesu docelowego i nigdy nie powinien być używany do kontrolowania wykonywania (bez wykonywania kroków, bez punktów przerwania, bez kontynuowania itp.). Takie działanie jest nieobsługiwane i spowoduje niezdefiniowane zachowanie.

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

GetCorThread(DkmThread)

Zapewnia bezpośredni dostęp do obiektu ICorDebugThread, którego ewaluatorzy wyrażeń lub innych składników mogą używać do inspekcji domeny aplikacji.

Zwrócony interfejs może służyć tylko do sprawdzania procesu docelowego i nigdy nie powinien być używany do kontrolowania wykonywania (bez wykonywania kroków, bez punktów przerwania, bez kontynuowania itp.). Takie działanie jest nieobsługiwane i spowoduje niezdefiniowane zachowanie.

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

GetDataItem<T>()

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

(Odziedziczone po DkmDataContainer)
GetEncAvailability(String)

Sprawdza, czy opcja Edytuj i kontynuuj jest obsługiwana dla odpowiedniego wystąpienia środowiska uruchomieniowego.

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

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 1 (DkmApiVersion.VS16Update1).

GetInstructionAddress(DkmInstructionAddress, Int32)

Zwraca adres instrukcji kth względem adresu początkowego. W przypadku zestawów instrukcji o stałej długości jest to proste arytmetyczne. W przypadku zestawów instrukcji o zmiennej długości do uzyskania tego adresu jest wymagana odwrotna dezasemblacja.

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

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
GetIntrinsicAssemblyMetaDataBytesPtr(UInt32)

Pobierz metadane dla zestawu "Metody wewnętrzne". Metody wewnętrzne to specjalne metody, które aparat debugowania rozumie podczas wykonywania zapytania inspekcji środowiska CLR. Przykład: Podczas obliczania wartości "$exception" w ewaluatorze wyrażeń języka C# kompilator wyrażeń języka C# wyemituje wywołanie metody GetException w zestawie metod wewnętrznych. Zamiast wykonywać wywołanie normalnie, debuger zamiast tego symuluje wywołanie metody i zwraca wyjątek w bieżącym wątku.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetManagedHeapSamplers()

GetManagedHeapSamplers wylicza elementy DkmManagedHeapSampler tego obiektu DkmRuntimeInstance.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
GetManagedHeapWalkers()

GetManagedHeapWalkers wylicza elementy DkmManagedHeapWalker tego obiektu DkmRuntimeInstance.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Odziedziczone po DkmRuntimeInstance)
GetMethodReturnAddresses(DkmClrModuleInstance, DkmClrMethodId)

Wewnętrzna metoda pomocnika do znajdowania wszystkich adresów instrukcji ponawiania próby w danej metodzie. NB! Adresy wskazują rzeczywisty il, a nie bieżący/poprzedni punkt sekwencji!

Ograniczenie lokalizacji: Brak.

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

GetModuleInstances()

GetModuleInstances wylicza elementy DkmModuleInstance tego obiektu DkmRuntimeInstance.

(Odziedziczone po DkmRuntimeInstance)
GetOutOfProcStepAddresses(DkmStepper, DkmStackWalkFrame, DkmSteppingRange[])

Wewnętrzna metoda pomocnika do znajdowania adresów kandydatów dla in/over.

Ograniczenie lokalizacji: Brak.

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

GetScriptDocumentTreeNodes()

GetScriptDocumentTreeNodes wylicza elementy DkmScriptDocumentTreeNode tego obiektu DkmRuntimeInstance.

(Odziedziczone po DkmRuntimeInstance)
GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>)

Pobiera nazwę symbolu dla określonego adresu przy użyciu informacji o środowisku uruchomieniowym zamiast symboli. Obecnie jest to właśnie zaimplementowane dla wystąpienia środowiska uruchomieniowego CLR.

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ę uzupełniania.

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

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 7 (DkmApiVersion.VS16Update7).

(Odziedziczone po DkmRuntimeInstance)
GetTaskProviders()

GetTaskProviders wylicza elementy DkmTaskProvider tego obiektu DkmRuntimeInstance.

(Odziedziczone po DkmRuntimeInstance)
GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>)

Pobiera właściwości wyświetlania wątku, w tym nazwę wyświetlaną i kategorię wątku.

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ę uzupełniania.

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

(Odziedziczone po DkmRuntimeInstance)
GetThreadName(DkmThread)

Oblicz nazwę wątku.

(Odziedziczone po DkmRuntimeInstance)
GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>)

Oblicz nazwę wątku.

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ę uzupełniania.

(Odziedziczone po DkmRuntimeInstance)
GetTypeLayoutForType(DkmManagedTypeId)

Biorąc pod uwagę identyfikator typu zarządzanego, pobierz układ typu tego typu.

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

NotifyStepComplete(DkmStepper)

Funkcja NotifyStepComplete jest wywoływana przez menedżera krokowego dla wszystkich niekontrolujących wystąpień środowiska uruchomieniowego po zakończeniu kroku.

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

(Odziedziczone po DkmRuntimeInstance)
OnFuncEvalQuickAbortDllLoaded(DkmThread, Boolean)

Powiadamia wynik próby załadowania biblioteki DLL FEQA.

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

OnLoadComplete()

Ta metoda jest wywoływana przez monitor debugowania w celu wywołania zdarzenia RuntimeInstanceLoadComplete. Element RuntimeInstanceLoadComplete jest obecnie wysyłany tylko dla natywnego wystąpienia środowiska uruchomieniowego, ale może to ulec zmianie w przyszłości. Zdarzenie jest wystawiane po utworzeniu obiektów DkmModuleInstance dla początkowego zestawu modułów w wystąpieniu środowiska uruchomieniowego.

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

Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2).

(Odziedziczone po DkmRuntimeInstance)
OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

OnNewControllingRuntimeInstance jest wywoływana przez menedżera krokowego we wszystkich wystąpieniach środowiska uruchomieniowego, które nie kontrolują kontroli po kroku arbitrażu wybrał nowe wystąpienie środowiska uruchomieniowego kontrolujące.

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

(Odziedziczone po DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

OwnsCurrentExecutionLocation jest wywoływany przez menedżera krokowego podczas wyszukiwania monitorów w celu wykonania kroku. Jeśli bieżąca lokalizacja w debuggee jest rozumiana przez ten monitor, może zwrócić wartość true w tym miejscu, aby przejąć kontrolę nad krokiem.

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

(Odziedziczone po DkmRuntimeInstance)
PrepareForFuncEvalQuickAbort(DkmThread, Boolean, UInt64)

Sprawdza, czy należy załadować bibliotekę DLL FEQA.

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

ReenableFuncEval(String)

Próbuje ponownie włączyć func-eval.

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

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)
ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Rozwiązuje instrukcję procesora CPUAddress do obiektu DkmInstructionAddress specyficznego dla środowiska uruchomieniowego.

Ten interfejs API jest obecnie obsługiwany tylko przez obiekty CLR DkmRuntimeInstance, a wystąpienie środowiska uruchomieniowego CLR może obecnie znajdować tylko adresy instrukcji, które znajdują się w metodzie, która znajduje się obecnie na stosie wywołań jednego z wątków w procesie docelowym.

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: ten interfejs API powinien być zwykle wywoływany na kliencie, ale można go wywołać na serwerze na potrzeby tłumaczenia adresów CLR (ale nie kompilowanego natywnie).

(Odziedziczone po DkmRuntimeInstance)
ResolveCPUInstructionAddress(UInt64, Boolean)

Rozwiązuje instrukcję procesora CPUAddress do obiektu DkmInstructionAddress specyficznego dla środowiska uruchomieniowego.

Ten interfejs API jest obecnie obsługiwany tylko przez obiekty CLR DkmRuntimeInstance, a wystąpienie środowiska uruchomieniowego CLR może obecnie znajdować tylko adresy instrukcji, które znajdują się obecnie w stosie wywołań jednego z wątków w procesie docelowym.

Ograniczenie lokalizacji: ten interfejs API powinien być zwykle wywoływany na kliencie, ale można go wywołać na serwerze na potrzeby tłumaczenia adresów CLR (ale nie kompilowanego natywnie).

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

Umieść nowy element w kontenerze danych.

(Odziedziczone po DkmDataContainer)
SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>)

Ustawia wartość rejestru w kontekście wątku. Obsługiwane są rejestry podrzędne składające się z większych rejestrów.

(Odziedziczone po DkmRuntimeInstance)
Step(DkmStepper, DkmStepArbitrationReason)

Krok jest wywoływany przez menedżera kroków po ustaleniu, że ten monitor jest prawidłowym monitorem do wykonania kroku.

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

(Odziedziczone po DkmRuntimeInstance)
StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

KrokControlRequested jest wywoływany przez menedżera kroków, gdy wystąpienie środowiska uruchomieniowego niekontrolujące wykryje, że wątek osiągnął przejście do środowiska uruchomieniowego. Jeśli bieżące kontrolowanie wystąpienia środowiska uruchomieniowego może przestać wykonywać kroki, powinno ono ustawić wartość Przyznane na true. Rzeczywista kontrolka nie jest podawana, dopóki żądanie środowiska uruchomieniowego wywoła DkmStepper.TakeStepControl. Ten dwuczęściowy proces umożliwia obiektom wywołującym żądanie kontroli wielu schodków jednocześnie.

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

(Odziedziczone po DkmRuntimeInstance)
StopStep(DkmStepper)

StopStep jest wywoływany przez menedżera krokowego, gdy proces jest nadal czyszczący wszystkie pozostałe stany krok po kroku dla kroku.

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

(Odziedziczone po DkmRuntimeInstance)
TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance)

Funkcja TakeStepControl jest wywoływana przez menedżera krokowego, gdy wystąpienie środowiska uruchomieniowego niekontrolujące wykryje, że wątek uderzył w przejście do środowiska uruchomieniowego. Menedżer kroków przekaże wywołanie bieżącego wystąpienia środowiska uruchomieniowego sterującego. Wystąpienie środowiska uruchomieniowego żądającego kontrolki powinno najpierw wywołać metodę StepControlRequested we wszystkich schodkach, do których chce mieć kontrolę. Jeśli wszystkie zostały ustawione na wartość True, wystąpienie środowiska uruchomieniowego powinno wywołać tę metodę dla każdego kroku, nad którym przejmuje kontrolę.

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

(Odziedziczone po DkmRuntimeInstance)
TryDisableFuncEval(String)

Próbuje wyłączyć func-eval.

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

Unload()

RuntimeInstanceUnload jest wysyłany przez dyspozytora, gdy DkmRuntimeInstance::Unload jest wywoływany przez monitor.

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

(Odziedziczone po DkmRuntimeInstance)

Dotyczy