Udostępnij za pośrednictwem


Microsoft.VisualStudio.Debugger Przestrzeń nazw

Klasy

DkmBaseDebugMonitorId

DkmBaseDebugMonitorId identyfikuje podstawowy monitor debugowania używany do inspekcji i kontrolowania debugowanego procesu. Na przykład DkmBaseDebugMonitorId.WindowsProcess jest używany do procesów debugowanych przez interfejs API debugowania Win32 i DkmBaseDebugMonitorId.DumpFile jest używany dla minidumps.

DkmComponentManager

Udostępnia usługi z dyspozytora do inicjowania wątków.

DkmCustomMessage

Struktura komunikatów używana do przekazywania informacji między niestandardowymi składnikami zaplecza debugera i niestandardowymi składnikami interfejsu użytkownika programu Visual Studio (pakietami, dodatkami itp.).

DkmDataContainer

DkmDataContainer to blok konstrukcyjny, który jest używany w tym interfejsie API. Dzięki temu wiele obiektów w tym interfejsie API może zawierać "pola wirtualne", które są dodawane przez dowolny składnik w systemie. Jest to podobne do bezpiecznej dla typu wersji koncepcji "expando" w języku JScript.

Reguły dla DkmDataContainer:

  1. Wszystkie obiekty "odwołania" w systemie dziedziczą po DkmDataContainer. Obiekty referencyjne są śledzone przez składnik dyspozytora tego systemu, a w różnych punktach marshallingu (zarządzanych> natywnych, natywnych, zdalnie zarządzanych>) tożsamość odwołania do obiektu jest zachowywana. Obiekty "Value" nie dziedziczą z obiektu DkmDataContainer, ponieważ system nie śledzi tych obiektów, więc w żadnym przejściu marshalling wartość obiektu jest kopiowana.
  2. Te obiekty dziedziczą "pola wirtualne", które dziedziczą z elementu DkmDataContainer, są nazywane elementami danych.
  3. Elementy danych są prywatne do składnika, który je dodał. Tej funkcji nie można używać do udostępniania pól w granicach składników.
  4. Elementy danych to wystąpienia klasy elementu danych. W kodzie zarządzanym klasy elementów danych dziedziczą z elementu DkmDataItem, aby zidentyfikować je jako element danych. W kodzie natywnym elementy danych dziedziczą z elementu IUnknown.
  5. Zwykle składnik nigdy nie musiałby usuwać elementu danych. Dzieje się tak, ponieważ elementy danych są automatycznie usuwane po zamknięciu obiektu kontenera.
DkmDataItem

"DkmDataItem" jest klasą bazową dla wszystkich klas elementów danych. Aby uzyskać więcej informacji, zobacz "DkmDataContainer".

DkmDiagnosticsLog

Metody definiowania klas statycznych służące do rejestrowania w dzienniku diagnostycznym dyspozytora

DkmDotnetVisualizerExtensionInfo

Zawiera informacje o rozszerzeniu wizualizatora debugera, które można wyświetlić dla wyniku oceny.

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

DkmEngineId

Są to wartości IDENTYFIKATOR GUID "standardowego aparatu". Oczekuje się, że ta lista będzie rosnąć wraz z upływem czasu, więc jeśli to możliwe, zaleca się wykonanie zapytania o ustawienie zamiast porównywania EngineId.

DkmEngineSettings

Zawiera ustawienia debugowania dla całej sesji. Istnieje jedno wystąpienie tego obiektu dla identyfikatora GUID aparatu (np. jedno wystąpienie comPlusOnlyEng2, jedno wystąpienie comPlusNativeEng).

DkmEventDescriptor

Opisuje przetwarzane zdarzenie.

DkmEventDescriptorS

Opisuje przetwarzane zdarzenie i umożliwia składnikowi pomijanie tego zdarzenia.

DkmException

Klasa wyjątków podstawowych dla wszystkich wyjątków w tym interfejsie API.

DkmGlobalSettings

Statyczna klasa zawierająca ustawienia globalne procesu debugera

DkmInstructionAddress

Abstrakcyjna reprezentacja lokalizacji kodu wykonywalnego (np. wartość EIP). W przypadku rozwiązania problemu adres instrukcji będzie znajdować się w określonym wystąpieniu modułu. Adres instrukcji jest zawsze w określonym wystąpieniu środowiska uruchomieniowego.

Klasy pochodne: DkmClrInstructionAddress, DkmClrNcInstructionAddress, DkmCustomInstructionAddress, DkmNativeInstructionAddress, DkmScriptInstructionAddress, DkmUnknownInstructionAddress

DkmInstructionAddress.CPUInstruction

Procesor CPUInstruction udostępnia adres, który zostanie wykonany przez procesor CPU. Jest to zawsze dostępne dla instrukcji natywnych. Można go podać dla środowiska CLR lub adresów niestandardowych w zależności od sposobu tworzenia obiektu adresu.

DkmLanguageRegistrySetting

Parowanie między nazwą ustawienia a jego wartością.

DkmModuleInstance

Klasa Wystąpienia modułu reprezentuje pakiet kodu (np. dll lub exe), który jest ładowany do określonego procesu w określonej lokalizacji. Obiekty wystąpienia modułu to 1:1 z pojęciem pakietu kodu w środowisku wykonywania. Na przykład w kodzie natywnym obiekty wystąpienia modułu mają adres podstawowy 1:1.

Klasy pochodne: DkmClrModuleInstance, DkmClrNcModuleInstance, DkmCustomModuleInstance, DkmNativeModuleInstance, DkmClrNcContainerModuleInstance

DkmModuleInstance.MinidumpInfo

Element "MinidumpInfo" służy do przekazywania dodatkowych informacji o modułach w module DkmProcess dla minidump.

DkmModuleVersion

Informacje o wersji pliku.

DkmNativeEESettings

Zawiera ustawienia konfiguracji ewaluatora wyrażeń natywnych.

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

DkmPerformanceCounters

Kolekcja liczników wykonywania procesów.

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

DkmProcess

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.

DkmProcess.Live

Informacje istotne dla uruchomionego procesu. Na przykład ta część NIE będzie obecna dla minidumps.

DkmProcessExecutionCounters

Przechowuje sygnaturę czasową QPC dla zdarzenia zatrzymania/wznowienia procesu.

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

DkmProcessSnapshot

DkmProcessSnapshot reprezentuje migawkę przechwyconą na temat uruchomionego procesu.

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

DkmReadOnlyByteCollection

Implementacja funkcji ReadOnlyCollection, która może zapewnić wskaźnik do bazowej pamięci natywnej. Obecnie ta klasa jest używana tylko w przypadku funkcji ReadOnlyCollections przechowujące bajty, gdy wartość jest przekazywana za pośrednictwem wywołania interfejsu API Concord.

DkmRegistryTweak

Para klucz/wartość odczytuje z rejestru.

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

DkmRuntimeId

Identyfikator środowiska uruchomieniowego identyfikuje środowisko wykonywania dla określonego fragmentu kodu. Identyfikatory środowiska uruchomieniowego są używane przez dyspozytor, aby zdecydować, do którego monitora należy wysłać. Należy pamiętać, że kolejność identyfikatora środowiska uruchomieniowego identyfikatora GUID jest nieco znacząca, ponieważ określa to, które środowisko uruchomieniowe otrzymuje pierwszy strzał podczas arbitrażu. W związku z tym, jeśli chcesz zadeklarować nowe wystąpienie środowiska uruchomieniowego, które jest zbudowane na clR, identyfikator środowiska uruchomieniowego powinien być mniejszy niż DkmRuntimeId.Clr.

DkmRuntimeInstance

Klasa DkmRuntimeInstance reprezentuje środowisko wykonawcze, które jest ładowane do obiektu DkmProcess i który zawiera kod do debugowania.

Klasy pochodne: DkmClrRuntimeInstance, DkmClrNcRuntimeInstance, DkmCustomRuntimeInstance, DkmNativeRuntimeInstance, DkmScriptRuntimeInstance, DkmNativeDwarfRuntimeInstance, DkmOpenEnclaveRuntimeInstance

DkmSourceId

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 wykonywania kroków).

DkmThread

Element DkmThread reprezentuje wątek uruchomiony w procesie docelowym.

Klasy pochodne: DkmGPUComputeThread, DkmVirtualThread

DkmThread.System

Opisuje cechy wątku, które są istotne dla pełnego wątku Win32. Obecnie ta wartość jest wymagana, a wszystkie wątki będą miały blok "System". W przyszłości ta wartość może mieć wartość NULL, jeśli element DkmThread reprezentuje coś innego niż pełny wątek Win32.

DkmTraceTimeContext

Punkt czasu w ramach śledzenia podróży w czasie. Wewnętrzna reprezentacja jest szczegółem implementacji twórcy.

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

DkmUnknownInstructionAddress

Reprezentuje adres, którego nie można rozpoznać w module.

DkmUserMessage

Zawiera informacje o komunikacie, który ma być wyświetlany użytkownikowi.

DkmVirtualThread

DkmVirtualThread reprezentuje wątek, który nie istnieje fizycznie w procesie debugowania.

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

DkmWaitUIOperation

Reprezentuje operację wykonywaną na zapleczu debugera, która może być wolna, dlatego użytkownik powinien zostać poinformowany, jeśli trwa dłużej określone opóźnienie.

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

DkmWorkList

Kolekcja asynchronicznych elementów roboczych, które są przetwarzane razem. Elementy robocze są dołączane przez wywołanie dowolnej z metod asynchronicznych w tym interfejsie API. Elementy robocze mogą być dołączane swobodnie do momentu rozpoczęcia wykonywania listy roboczej. Po rozpoczęciu wykonywania dodatkowe prace mogą być dołączane tylko z implementacji interfejsu przetwarzania elementów roboczych lub z procedury uzupełniania.

Struktury

DkmDisplayUserMessagePromptAsyncResult

Wynik asynchronicznego wywołania DkmUserMessage.DisplayPrompt.

DkmGetCurrentCPUAddressAsyncResult

Wynik asynchronicznego wywołania DkmInstructionAddress.GetCurrentCPUAddress.

DkmGetInstructionAddressAsyncResult

Wynik asynchronicznego wywołania DkmProcess.GetInstructionAddress.

DkmGetRelativeInstructionAddressAsyncResult

Wynik asynchronicznego wywołania DkmProcess.GetInstructionAddress.

DkmGetSymbolSearchResultAsyncResult

Wynik asynchronicznego wywołania DkmModuleInstance.GetSymbolSearchResult.

DkmModuleInstanceIsUserCodeAsyncResult

Wynik asynchronicznego wywołania DkmModuleInstance.IsUserCode.

DkmPerformanceCountersAsyncResult

Wynik asynchronicznego wywołania DkmProcess.QueryPerformanceCounters.

DkmResolveCPUInstructionAddressAsyncResult

Wynik asynchronicznego wywołania DkmRuntimeInstance.ResolveCPUInstructionAddress.

DkmRuntimeInstanceId

Identyfikuje obiekt DkmRuntimeInstance w ramach procesu.

DkmSendLowerAsyncResult

Wynik asynchronicznego wywołania DkmCustomMessage.SendLower.

DkmTryLoadBinaryAsyncResult

Wynik asynchronicznego wywołania DkmModuleInstance.TryLoadBinary.

DkmXmm128

DkmXmm128 reprezentuje zawartość 128-bitowego rejestru XMM w systemach x64

Wyliczenia

DkmApiVersion

Kod wyliczenia różnych wersji tego interfejsu API.

DkmAsyncBreakStatus

Wskazuje typ przerwania asynchronicznego, który wystąpił.

DkmClientUI

Określa typ interfejsu użytkownika, który powoduje wystąpienie aparatu.

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

DkmDataCreationDisposition

Akcja do wykonania, jeśli element danych znajduje się już w kontenerze.

DkmDecompilerMode

Tryby, w których można dekompilować moduł.

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

DkmDispatcherObjectFlags

Flagi wewnętrzne wskazujące bieżący stan obiektu dyspozytora.

DkmDotnetVisualizerExtensionStyle

Wskazuje sposób wyświetlania wizualizatora po otwarciu.

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

DkmDumpType

Typ zrzutu do zapisania.

DkmEngineFlags

Flagi wskazujące niezmienne cechy tego aparatu.

DkmEventCode

Wyliczanie wszystkich zdarzeń, które są obecnie zdefiniowane w tym interfejsie API.

DkmExceptionCode

Definiuje kody HRESULT używane przez ten interfejs API.

DkmFuncEvalAbortLoggingFlags

Flagi wskazujące, jakiego typu rejestrowanie ma być wykonywane na przerwaniu func eval.

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

DkmFuncEvalMode

Wskazuje, czy w procesie docelowym występuje ocena funkcji i czy na potrzeby tej oceny są dozwolone zatrzymanie zdarzeń.

DkmInstructionAddress.Tag

DkmInstructionAddress jest abstrakcyjną klasą bazową. To wyliczenie wskazuje, która klasa pochodna jest wystąpieniem tego obiektu.

DkmLogLevel

Określa szczegółowość komunikatów rejestrowania dodanych do dziennika diagnostyki (DkmDiagnosticsLog). Aby umożliwić trywialnie sprawdzenie, czy dany poziom dziennika jest włączony, jest to zadeklarowane jako wyliczenie flagi, ale z bardzo kilkoma wyjątkami, jeśli istnieją, komunikaty powinny ustawić pojedynczą flagę.

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

DkmMemoryTimeFlags

Wyliczenie opisujące czas odczytywania pamięci jest rozpoznawany w odniesieniu do bieżącego czasu procesu.

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

DkmModuleFlags

Flagi wskazujące cechy obiektu DkmModuleInstance.

DkmModuleInstance.Tag

DkmModuleInstance jest abstrakcyjną klasą bazową. To wyliczenie wskazuje, która klasa pochodna jest wystąpieniem tego obiektu.

DkmModuleMemoryLayout

Wyliczenie wskazujące sposób, w jaki moduł jest ułożony w pamięci.

DkmProcessExecuteDirection

Wskazuje kierunek wykonywania procesu.

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

DkmProcessorArchitecture
DkmReadMemoryFlags

Flagi kontrolujące zachowanie DkmProcess.ReadMemory i DkmProcess.ReadMemoryString.

DkmRuntimeCapabilities

Wyliczanie możliwości środowiska uruchomieniowego.

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

DkmRuntimeInstance.Tag

DkmRuntimeInstance jest abstrakcyjną klasą bazową. To wyliczenie wskazuje, która klasa pochodna jest wystąpieniem tego obiektu.

DkmStoppingEventProcessingNextAction

Kod stanu zwrócony do podstawowego monitora debugowania, aby wskazać następną akcję do wykonania w zatrzymaniu przetwarzania zdarzeń.

DkmUserMessageOutputKind

Wskazuje, gdzie element DkmUserMessage powinien być danymi wyjściowymi w środowisku IDE debugera.

DkmWaitUIOperationFlags

Flagi elementu DkmWaitUIOperation.

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

DkmWorkListExecutionThread

Argument DkmWorkList.BeginExecution wskazujący, gdzie powinny być uruchamiane elementy robocze na liście roboczej.

DkmWorkListPriority

Priorytetowa klasa list roboczych z listy o wysokim poziomie do bezczynności. @Note: musi być zsynchronizowany z definicją zarządzaną.

ExceptionConditionCallStackBehavior
ExceptionConditionOperator
ExceptionConditionType
GCReferenceType
MessageBoxFlags
MinidumpFlags

Delegaci

DkmCompletionRoutine<TResult>

Funkcja uruchamiana po zakończeniu żądania asynchronicznego.

DkmWorkListCompletionRoutine

Opcjonalna funkcja uruchamiana po zakończeniu listy roboczej, w tym uruchamianie wszystkich procedur uzupełniania.

DkmWorkListProgressRoutine

Opcjonalna funkcja, która jest uruchamiana po zaktualizowaniu postępu listy roboczej.