Microsoft.VisualStudio.Debugger.ComponentInterfaces Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Interfejsy
IDkmActiveScriptDebugMonitor |
Interfejs zaimplementowany przez funkcję DM skryptu w celu zapewnienia bezpośredniego dostępu do środowiska uruchomieniowego skryptu docelowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmAfterSetNextStatementNotification |
IDkmAfterSetNextStatementNotification zaimplementowane przez składniki, które chcą otrzymywać powiadomienia po zakończeniu zestawu następnej instrukcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmAppDomainCreatedNotification |
IDkmAppDomainCreatedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia AppDomainCreated. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Element AppDomainCreated jest uruchamiany po utworzeniu domeny aplikacji przez proces docelowy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmAppDomainUnloadedNotification |
IDkmAppDomainUnloadedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia AppDomainUnloaded. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Element AppDomainUnloaded jest uruchamiany, gdy element AppDomain jest zwalniany przez proces docelowy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmAppPackageInfo |
Interfejs do wyliczania informacji o pakiecie aplikacji w systemie lokalnym lub zdalnym. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: TransportKind. |
IDkmAsyncBreak |
Ten interfejs zawiera interfejs API do przeprowadzania async-break w procesie debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmAsyncBreakCompleteNotification |
IDkmAsyncBreakCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia AsyncBreakComplete. IDkmAsyncBreakCompleteNotification jest wywoływana po wszystkich implementacjach elementu IDkmAsyncBreakCompleteReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysłane przez monitor debugowania po zakończeniu żądania asynchronicznego przerwania procesu. Zdarzenia AsyncBreakComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmAsyncBreakCompleteReceived |
Element IDkmAsyncBreakCompleteReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia AsyncBreakComplete. IDkmAsyncBreakCompleteReceived jest wywoływany przed IDkmAsyncBreakCompleteNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysłane przez monitor debugowania po zakończeniu żądania asynchronicznego przerwania procesu. Zdarzenia AsyncBreakComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmAsyncStateMachineDecoder170 |
Zawiera informacje o poziomie metadanych dotyczące metod maszyny stanu asynchronicznego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
IDkmAsyncTaskDecoder |
Przewodnik stosu wywołań asynchronicznych i stosów tworzenia zadań. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: EngineId, RuntimeId, SymbolProviderId, TaskProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmBaseFuncEvalService |
Interfejs zaimplementowany przez podstawowe monitory debugowania, aby umożliwić wznowienie procesu oceny funkcji. Ten interfejs zawiera podstawowe usługi używane przez polecenie "ExecuteFuncEval". Konfiguracja, oczyszczanie, obsługa limitu czasu, obsługa wyjątków i wykrywanie ukończenia są obsługiwane przez monitory debugowania wyższego poziomu. Ten interfejs nie jest dostarczany do debugowania clR w wersji 2. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmBaseNativeExecutionController |
Funkcja IDkmBaseNativeExecutionController jest implementowana przez podstawowe monitory debugowania, które obsługują ustawianie natywnych punktów przerwania lub pojedynczy krok po instrukcjach natywnych. Zapewnia ona zaawansowane elementy pierwotne kontroli wykonywania potrzebne do debugowania środowiska CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmBeforeContinueExecutionNotification |
Zawiera powiadomienie, że proces ma kontynuować wykonywanie. Ta funkcja jest wywoływana przed zainicjowaniem odpowiednich schodków, więc można wykonać func-evals. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmBeforeStopDebuggingNotification |
Zawiera powiadomienie, że proces ma zostać odłączony lub zakończony. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmBinaryLoadedNotification |
Element IDkmBinaryLoadedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BinaryLoaded. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Wskazuje, że pomyślnie załadowaliśmy plik binarny modułu w minidump, który debugujemy. Zdarzenia BinaryLoaded można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmBinaryLocator |
Ten interfejs zawiera metody zaimplementowane przez dostawcę symboli, aby umożliwić monitorom debugowania wyszukiwanie plików binarnych na serwerach symboli i dyskach lokalnych. Jest to wymagane, ponieważ interfejsy API serwera symboli nie są bezpieczne wątkiem, a dostawca symboli jest właścicielem dostępu do nich. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmBinaryLocator11a |
Rozszerza funkcjonalność lokalizatora binarnego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1). |
IDkmBinaryReloadOpportunityNotification |
IDkmBinaryReloadOpportunityNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BinaryReloadOpportunity. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Podczas debugowania minidump podniesione przez MinidumpBDM do przeniesienia pliku binarnego, gdy użytkownik próbuje ręcznie załadować plik binarny. Zdarzenia BinaryReloadOpportunity można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2). |
IDkmBoundBreakpointHitNotification |
Element IDkmBoundBreakpointHitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BoundBreakpointHit. IDkmBoundBreakpointHitNotification jest wywoływana po wszystkich implementacjach elementu IDkmBoundBreakpointHitReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zapewnia powiadomienie o trafieniu powiązanego punktu przerwania (DkmBoundBreakpoint). Powiązane punkty przerwania to obiekty punktu przerwania wysokiego poziomu. Powiadomienie o punktach przerwania niskiego poziomu (DkmRuntimeBreakpoint) jest uzyskiwane za pośrednictwem zdarzenia RuntimeBreakpoint. Zdarzenia BoundBreakpointHit można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. |
IDkmBoundBreakpointHitReceived |
Element IDkmBoundBreakpointHitReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BoundBreakpointHit. Element IDkmBoundBreakpointHitReceived jest wywoływany przed IDkmBoundBreakpointHitNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zapewnia powiadomienie o trafieniu powiązanego punktu przerwania (DkmBoundBreakpoint). Powiązane punkty przerwania to obiekty punktu przerwania wysokiego poziomu. Powiadomienie dotyczące punktów przerwania niskiego poziomu (DkmRuntimeBreakpoint) jest uzyskiwane za pośrednictwem zdarzenia RuntimeBreakpoint. Zdarzenia BoundBreakpointHit można pominąć, wywołując element DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. |
IDkmBreakpointConditionProcessor |
Interfejs zaimplementowany na komputerze docelowym do obsługi oceny warunków punktu przerwania i liczby trafień. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmBreakpointConditionProcessorClient |
Zaimplementowane przez wywołujące element DkmRuntimeBreakpoint.SetCompiledConditionPending w celu zapewnienia skompilowanych warunków po osiągnięciu punktu przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmBreakpointConditionProcessorClient140 |
Zaimplementowane przez wywołujące element DkmRuntimeBreakpoint.SetCompiledConditionPending w celu zapewnienia skompilowanych warunków po osiągnięciu punktu przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmBreakpointConditionProcessorGpuExtension |
Interfejs rozszerzenia do debugowania procesora GPU zaimplementowany na komputerze docelowym do obsługi oceny warunków punktu przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmBreakpointConditionThreadSelectorForGpu |
Interfejs zaimplementowany na komputerze docelowym do obsługi oceny warunków punktu przerwania na wszystkich zatrzymanych wątkach i wybierz wątek, którego warunek jest spełniony dla procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1). |
IDkmBreakpointHitWithErrorNotification |
Element IDkmBreakpointHitWithErrorNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BreakpointHitWithError. Element IDkmBreakpointHitWithErrorNotification jest wywoływany po wszystkich implementacjach elementu IDkmBreakpointHitWithErrorReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zawiera powiadomienie, że napotkano oczekujący punkt przerwania, ale przetwarzanie spowodowało błąd niemożliwy do odzyskania. Proces jest teraz zatrzymany, a punkt przerwania jest teraz w stanie błędu i nie zostanie trafiony ponownie. Zdarzenia BreakpointHitWithError można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmBreakpointHitWithErrorReceived |
Element IDkmBreakpointHitWithErrorReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia BreakpointHitWithError. Element IDkmBreakpointHitWithErrorReceived jest wywoływany przed IDkmBreakpointHitWithErrorNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zawiera powiadomienie, że napotkano oczekujący punkt przerwania, ale przetwarzanie spowodowało błąd niemożliwy do odzyskania. Proces jest teraz zatrzymany, a punkt przerwania jest teraz w stanie błędu i nie zostanie trafiony ponownie. Zdarzenia BreakpointHitWithError można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmBreakpointManager |
Ten interfejs jest implementowany przez składnik Menedżera punktu przerwania w celu zapewnienia domyślnej obsługi punktów przerwania. Inne składniki w systemie mogą również implementować ten interfejs, aby ponownie mapować znaczenie punktów przerwania dla niektórych języków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. |
IDkmBreakpointManagerFileUpdate |
Interfejs implementowany przez menedżerów punktów przerwania, które chcą otrzymywać powiadomienia, gdy pliki są aktualizowane w środowisku IDE. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". |
IDkmBreakpointManagerNotification |
Ten interfejs jest implementowany przez składniki, które dodają punkty przerwania do menedżera punktów przerwania (na przykład AD7 AL). Dzięki temu składnik może być powiadamiany, gdy menedżer punktu przerwania powiąże punkt przerwania lub wykryje błąd punktu przerwania lub ostrzeżenie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. |
IDkmBreakpointManagerNotification174 |
Ten interfejs jest implementowany przez składniki, które dodają punkty przerwania do menedżera punktów przerwania (na przykład AD7 AL). Dzięki temu składnik może być powiadamiany, gdy menedżer punktu przerwania powiąże punkt przerwania lub wykryje błąd punktu przerwania lub ostrzeżenie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4). |
IDkmBreakpointManagerNotification176 |
Ten interfejs jest implementowany przez składniki, które dodają punkty przerwania do menedżera punktów przerwania (na przykład AD7 AL). Dzięki temu składnik może być powiadamiany, gdy menedżer punktu przerwania powiąże punkt przerwania lub wykryje błąd punktu przerwania lub ostrzeżenie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6). |
IDkmCallStackFilter |
Umożliwia składnikowi dodanie dodatkowej adnotacji do stosu wywołań lub usunięcie fizycznych ramek ze stosu wywołań. Ze względu na wydajność filtry ramek stosu są wywoływane przed oceną przez ewaluatorów wyrażeń. Jednym z przykładowych filtrów ramek stosu jest ukrycie kodu zewnętrznego w stosie wywołań. Filtry ramek, które dodają konteksty stosu asynchronicznego, muszą mieć priorytet Normalny lub wyższy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TaskProviderId. |
IDkmClrAppDomainNameChanged |
Interfejs umożliwiający zaktualizowanie nazwy domeny aplikacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmClrCustomVisualizerObjectProvider |
Tworzy wystąpienie typu niestandardowego wizualizatora po stronie debugowania i udostępnia metody uzyskiwania dostępu do wizualizowanego obiektu ('Visualizer Object'). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrCustomVisualizerObjectProvider1610 |
Tworzy wystąpienie typu niestandardowego wizualizatora po stronie debugowania i udostępnia metody uzyskiwania dostępu do wizualizowanego obiektu ('Visualizer Object'), biorąc pod uwagę, że może nie obsługiwać klasy BinaryFormatter do komunikowania się z nim. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10). |
IDkmClrDebugMonitorExceptionCaughtNotification |
Klasa IDkmClrDebugMonitorExceptionCaughtNotification jest implementowana przez składniki, które chcą nasłuchiwać zdarzenia ClrDebugMonitorExceptionCaught. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. Zdarzenie "ClrDebugMonitorExceptionCaught" zawiera powiadomienie z monitora debugowania zarządzanego o przechwyconym wyjątku, który wystąpił w procesie docelowym. To zdarzenie jest używane przez narzędzia diagnostyczne, takie jak IntelliTrace, do zalogowania się w pliku TraceDebugger.\n. Zdarzenia ClrDebugMonitorExceptionCaught mogą być pomijane przez wywołanie elementu DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmClrDecompiler |
Udostępnia usługi dekompilacji dla typów CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
IDkmClrDecompiler173 |
Udostępnia usługi dekompilacji dla typów CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
IDkmClrDecompiler175 |
Udostępnia usługi dekompilacji dla modułów CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5). |
IDkmClrDecompiler177 |
Udostępnia usługi dekompilacji dla modułów CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmClrExceptionDetailsProvider |
Ten interfejs umożliwia monitorom debugowania podanie dodatkowych informacji o wyjątkach CLR w postaci szczegółów wyjątków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 7 (DkmApiVersion.VS15Update7). |
IDkmClrExpressionCompiler |
Umożliwia kompilatorom języków zarządzanych kompilowanie wyrażeń używanych przez debuger do obsługi oceny wyrażeń i punktów przerwania warunkowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrExpressionCompilerCallback |
Umożliwia kompilatorom języków zarządzanych kompilowanie wyrażeń używanych przez debuger do obsługi oceny wyrażeń. Ten interfejs zawiera metody wywoływane z monitora. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrExpressionEvaluatorCallbackInternal |
Metody wewnętrzne używane przez ewaluatora wyrażeń CLR do komunikacji między monitorem/środowiskiem IDE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrFormatter |
Formatuje wartości i nazwy typów wyników oceny w ciąg odpowiedni dla debugowanego języka. Dostawcy kompilatora mogą zaimplementować ten interfejs w celu dostosowania formatowania wartości dla ich języka. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrFormatter2 |
Formatuje wartości wyników oceny w ciągu odpowiednim dla debugowanego języka. Dostawcy kompilatora mogą zaimplementować ten interfejs w celu dostosowania formatowania wartości dla ich języka. Ten interfejs jest dodatkiem do interfejsu IDkmClrFormatter. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrFrameGenericParameterProvider |
Zapewnia możliwość pobrania parametrów ogólnych dla ramki stosu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrFrameTypesProvider |
Używane wewnętrznie do wykonywania zapytań o informacje o typie stosu dla informacji o wyjątku odwołania o wartości null. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrFullNameProvider |
Zawiera pełne nazwy niektórych wyrażeń. Pełne nazwy są używane dla funkcji Dodaj do obejrzenia. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrFullNameProvider2 |
Udostępnia nazwy specyficzne dla języka dla identyfikatorów metadanych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10). |
IDkmClrInspectionQueryProcessor |
Umożliwia wykonywanie zapytań skompilowanych do zarządzanego il. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrIntrinsicAssemblyProvider |
Zawiera metodę ładowania zestawu metod wewnętrznych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrManagedHeapStringProvider |
Interfejs zaimplementowany przez inspektora CLR w celu wydajnego oceniania ciągów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5). |
IDkmClrManagedHeapTypeLayoutProvider |
Interfejs zaimplementowany przez inspektora CLR w celu udostępnienia informacji o układzie typu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6). |
IDkmClrMetaDataLoader |
Metody ładowania metadanych dla modułów, które nie są ładowane w procesie debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrMetaDataProvider |
Interfejs zaimplementowany przez zarządzaną usługę DM w celu uzyskania metadanych z danego modułu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmClrMetaDataProvider140 |
Dodano metody uzyskiwania dostępu do metadanych dodanych w VS14RTM. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrMetaDataProvider150 |
Dodano metody uzyskiwania dostępu do metadanych punktu odniesienia (oryginalnego). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5). |
IDkmClrMethodSignatureHelper |
Udostępnia metodę pobierania tokenu podpisu dla sygnatury zmiennej lokalnej przy użyciu tokenu metody. Jeśli metoda została zmodyfikowana za pośrednictwem enC, ta metoda zwraca najnowszy token obiektu blob. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrModuleLookup |
Uzyskuje klasę DkmClrModuleInstance z modułu ICorDebugModule. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmClrNcInstructionAddressResolver |
Interfejs rozpoznawania tokenu ref typu do pisania def i skojarzonego zestawu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmClrObjectFavoritesCacheCallback |
Udostępnia formatery wyników z informacjami o ulubionych obiektów, które są buforowane po stronie zdalnej. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
IDkmClrPropertyInterpreter |
Metody oceny właściwości na ICorDebugValueHandles. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrPropertyInterpreter151 |
Metody oceny właściwości na ICorDebugValueHandles. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3). |
IDkmClrResultProvider |
Dostarcza wartości DkmEvaluationResults podane DkmClrValues. Dostawcy kompilatora mogą zaimplementować ten interfejs, aby zmienić sposób rozszerzania wartości i prezentowania użytkownikowi. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmClrRuntimeDebugMonitor |
Interfejs zaimplementowany przez zarządzaną usługę DM w celu uzyskania informacji o bieżącym stanie środowiska uruchomieniowego procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmClrRuntimeDebugMonitor150 |
Interfejs zaimplementowany przez zarządzaną usługę DM w celu uzyskania informacji o bieżącym stanie środowiska uruchomieniowego procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5). |
IDkmClrRuntimeDebugMonitorDirect |
Interfejs zaimplementowany przez zarządzaną funkcję DM w celu zapewnienia ewaluatorów wyrażeń i innych składników bezpośredniego dostępu do interfejsów ICorDebug. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmClrSymbolCallback |
Ten interfejs API umożliwia ewaluatorowi wyrażeń uzyskiwanie informacji zawartych w pliku PDB CLR lub dynamicznym magazynie symboli modułu CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmClrSymbolCallback120 |
Ulepszenie funkcji IDkmClrSymbolCallback w celu umożliwienia obsługi scenariuszy ClrNc. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmClrSymbolCallback160 |
Ulepszenia wywołania zwrotnego dostawcy symboli dodane dla programu Visual Studio 2019. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). |
IDkmClrSymbolSignatureCallback |
Udostępnia interfejsy API ewaluatorom wyrażeń w celu uzyskania podpisu zmiennych lokalnych i stałych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmClrSymUnmanagedReaderFactory |
Ten interfejs API zapewnia częściową implementację interfejsu ISymUnmanagedReader2 dla wystąpienia modułu CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrTypeResolver |
Interfejs rozpoznawania typów z ciągów do identyfikatora metody lub identyfikatora typu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmClrTypeRuntimeInfoProvider |
Służy wewnętrznie do wykonywania zapytań dotyczących parametru ICorDebugType i informacji o rozmiarze z obiektu DkmClrType. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmClrTypeRuntimeInfoProvider178 |
Interfejs zaimplementowany przez zarządzaną usługę DM w celu udostępnienia informacji o typie z środowiska CLR. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8). |
IDkmClrUIVisualizerService |
Zaimplementowane przez ewaluatory wyrażeń, które obsługują metodę EE języka C# dla niestandardowych osób przeglądających (tj. IPropertyProxyEESide). Ten interfejs może ulec zmianie w przyszłych wersjach. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". |
IDkmClrUIVisualizerService120 |
Zaimplementowane przez ewaluatory wyrażeń, które obsługują metodę EE języka C# dla niestandardowych osób przeglądających (tj. IPropertyProxyEESide). Ten interfejs może ulec zmianie w przyszłych wersjach. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmClrValueInspectionCallback |
Interfejs zaimplementowany w celu umożliwienia inspekcji wartości CLR reprezentowanych przez DkmClrValues. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmCompiledInspectionQueryProcessor |
Zapewnia wykonywanie skompilowanych zapytań inspekcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmComputeKernelExitNotification |
Element IDkmComputeKernelExitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ComputeKernelExit. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Zdarzenie po zakończeniu wykonywania jądra obliczeniowego procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmContinueExecution |
Ten interfejs zawiera interfejs API umożliwiający wznowienie wykonywania po wysłaniu zdarzenia zatrzymania do pakietu debugera programu Visual Studio. Ten interfejs powinien być implementowany tylko przez składniki podstawowego monitora debugowania. W przeciwieństwie do prawie wszystkich innych interfejsów jedna implementacja tego interfejsu może nie być łańcuchem do innej implementacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmCustomMessageAsyncForwardReceiver176 |
Zaimplementowane przez składniki, które chcą odbierać komunikaty niestandardowe ze środowiska IDE lub innego składnika Concord, i przetwarzają ten komunikat asynchronicznie. Jest to asynchroniczna wersja IDkmCustomMessageForwardReceiver. Należy pamiętać, że tylko komunikaty wysyłane przy użyciu asynchronicznego (DkmWorkList) wersji DkmCustomMessage.SendLower będą odbierane za pośrednictwem tego interfejsu. Implementatory tego interfejsu zwykle używają filtru SourceId. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6). |
IDkmCustomMessageCallbackReceiver |
Zaimplementowane przez składniki, które chcą odbierać komunikaty niestandardowe z innego składnika Concord. Jest to interfejs podobny do interfejsu IDkmCustomMessageForwardReceiver, z tą różnicą, że ta metoda wymaga, aby obiekt wywołujący był na niższym poziomie w hierarchii składników niż składnik, który odbiera powiadomienie (np. Monitor debugowania podstawowego —> AD7 AL). Implementatory tego interfejsu zwykle używają filtru SourceId. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId, TransportKind. |
IDkmCustomMessageForwardReceiver |
Zaimplementowane przez składniki, które chcą odbierać komunikaty niestandardowe ze środowiska IDE lub z innego składnika Concord. Jest to interfejs podobny do interfejsu IDkmCustomMessageCallbackReceiver, z tą różnicą, że ta metoda wymaga, aby obiekt wywołujący był na wyższym poziomie w hierarchii składników niż składnik odbierający (np. AD7 AL —> podstawowy monitor debugowania). Implementatory tego interfejsu zwykle używają filtru SourceId. Począwszy od wersji 17.6, istnieje asynchroniczna alternatywa dla tego interfejsu: IDkmCustomMessageAsyncForwardReceiver176. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId, TransportKind. |
IDkmCustomStopNotification |
IDkmCustomStopNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia CustomStop. IDkmCustomStopNotification jest wywoływana po wszystkich implementacjach IDkmCustomStopReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zdarzenie CustomStop umożliwia składnikowi concord podnieść zdarzenie zatrzymania do niestandardowego składnika interfejsu użytkownika lub do składnika Concord wyższego poziomu. Zdarzenia CustomStop można pominąć przez wywołanie elementu DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId, TransportKind. |
IDkmCustomStopReceived |
IDkmCustomStopReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia CustomStop. IDkmCustomStopReceived jest wywoływany przed IDkmCustomStopNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zdarzenie CustomStop umożliwia składnikowi concord podnieść zdarzenie zatrzymania do niestandardowego składnika interfejsu użytkownika lub do składnika Concord wyższego poziomu. Zdarzenia CustomStop można pominąć przez wywołanie elementu DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId, TransportKind. |
IDkmCustomVisualizer |
Ten interfejs jest implementowany przez wizualizatory wyrażeń niestandardowych w celu programowego dostosowywania widoku wyrażenia. Zwykle odbywa się to w celu obsługi wizualizacji, które nie są możliwe przy użyciu natywnej składni wizualizatora lub w celu włączenia wizualizacji bez pełnych informacji symbolicznych. Wizualizator może przejąć pełną kontrolę nad wyrażeniem, w tym rozszerzeniem elementów podrzędnych, lub uzyskać domyślne wyrażenie z ewaluatora wyrażeń, zmodyfikować je nieznacznie, ale odroczyć inne operacje, takie jak rozszerzenie z powrotem do środowiska EE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId. |
IDkmCustomVisualizerCallback |
Ten interfejs jest implementowany ewaluator wyrażeń, aby umożliwić dodatku EE wywołanie zwrotne do ewaluatora wyrażeń. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId. |
IDkmDataBreakpointErrorInfoClient |
Interfejs dla punktów przerwania danych kończy się niepowodzeniem po ich powiązaniu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmDataBreakpointHitNotification |
Element IDkmDataBreakpointHitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia DataBreakpointHit. IDkmDataBreakpointHitNotification jest wywoływana po wszystkich implementacjach elementu IDkmDataBreakpointHitReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zawiera powiadomienie o trafieniu oczekującego punktu przerwania z dodatkowymi informacjami o punkcie przerwania danych. Proces został zatrzymany z dodatkowymi informacjami. Zdarzenia DataBreakpointHit można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmDataBreakpointHitReceived |
Element IDkmDataBreakpointHitReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia DataBreakpointHit. Element IDkmDataBreakpointHitReceived jest wywoływany przed elementem IDkmDataBreakpointHitNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zawiera powiadomienie o trafieniu oczekującego punktu przerwania z dodatkowymi informacjami o punkcie przerwania danych. Proces został zatrzymany z dodatkowymi informacjami. Zdarzenia DataBreakpointHit można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmDataBreakpointInfoProvider |
Interfejs odpowiedzialny za dostarczanie informacji istotnych dla punktu przerwania danych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmDataBreakpointInfoProvider160 |
Rozszerzenie do IDkmDataBreakpointInfoProvider, aby umożliwić ewaluatorom wyrażeń podanie nazwy wyświetlanej punktów przerwania danych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmDebugMonitorExceptionNotification |
Element IDkmDebugMonitorExceptionNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia DebugMonitorException. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. Zdarzenie "DebugMonitorException" zawiera powiadomienie z monitorów debugowania dotyczących wyjątków występujących w procesie docelowym. To powiadomienie o zdarzeniu jest używane przez menedżera wyjątków i przez monitory debugowania działające na poziomach składników powyżej monitora debugowania, który wykrył wyjątek. Zamiast tego składniki wyższego poziomu powinny używać wyzwalaczy wyjątków. Aby uzyskać więcej informacji, zobacz DkmExceptionTrigger. Jeśli wyjątek zostanie wysłany nieobsługiwany (ustawiono DkmExceptionProcessingStage.Unhandled), środowisko IDE zostanie zatrzymane. Inne wyjątki mogą zostać zatrzymane w zależności od wszelkich elementów DkmExceptionTrigger ustawionych przez usługę AD7 AL lub innych składników. Ad7 AL odczytuje domyślny zestaw wyzwalaczy z %VSRegistryRoot%\AD7Metrics\Exception%CategoryGuid%*. Zdarzenia DebugMonitorException można pominąć, wywołując funkcję DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. |
IDkmDeploymentCommandCallback |
Interfejs wywołania zwrotnego zaimplementowany przez wywołania DkmDeploymentCommand.Start w celu odbierania powiadomień o zdarzeniach w poleceniu wdrożenia. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SourceId, TransportKind. |
IDkmDisassemblyFunctionLabelProvider |
Udostępnia symbole potrzebne do formatowania dezasemblacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3). |
IDkmDisassemblyProvider |
Służy do dezasemblowania instrukcji w przestrzeni adresowej debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmDisassemblyRuntimeAddressResolver |
Umożliwia środowisku uruchomieniowemu podanie adresu do rozpoznawania nazw symboli do użycia w oknie dezasemblacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 7 (DkmApiVersion.VS16Update7). |
IDkmDisassemblySymbolProvider |
Udostępnia symbole potrzebne do formatowania dezasemblacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmDumpWriter |
Ten interfejs zawiera interfejs API do zapisywania pliku zrzutu procesu debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmEditAndContinueService |
Interfejs implementowany przez aparat edycji i kontynuowania do obsługi usługi zapytań o stan. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmEmbeddedBreakpointHitNotification |
Element IDkmEmbeddedBreakpointHitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia EmbeddedBreakpointHit. IDkmEmbeddedBreakpointHitNotification jest wywoływana po wszystkich implementacjach elementu IDkmEmbeddedBreakpointHitReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysyłane przez menedżera wyjątków po napotkaniu osadzonego wyjątku punktu przerwania. Zamiast tego składniki pod menedżerem wyjątków muszą nasłuchiwać zdarzenia wyjątku specyficznego dla platformy. Zdarzenia EmbeddedBreakpointHit można pominąć. Jeśli to zdarzenie osiągnie warstwę AD7, debuger przejdzie w tryb przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmEmbeddedBreakpointHitReceived |
Element IDkmEmbeddedBreakpointHitReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia EmbeddedBreakpointHit. Element IDkmEmbeddedBreakpointHitReceived jest wywoływany przed IDkmEmbeddedBreakpointHitNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysyłane przez menedżera wyjątków po napotkaniu osadzonego wyjątku punktu przerwania. Zamiast tego składniki pod menedżerem wyjątków muszą nasłuchiwać zdarzenia wyjątku specyficznego dla platformy. Zdarzenia EmbeddedBreakpointHit można pominąć. Jeśli to zdarzenie osiągnie warstwę AD7, debuger przejdzie w tryb przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmEmbeddedDocumentProvider |
Ten interfejs API służy do pobierania dokumentów kodu źródłowego osadzonych w pliku symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5). |
IDkmEmbeddedDocumentProvider158 |
Ten interfejs API jest używany w scenariuszach vsdbg w celu określenia, czy dana instrukcja znajduje się w osadzonym dokumencie bez uzyskiwania zawartości dokumentu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmEmbeddedDocumentProvider165 |
Ten interfejs API służy do sprawdzania istnienia osadzonych dokumentów, wyliczania osadzonych dokumentów i pobierania zawartości dokumentu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
IDkmEntryPointNotification |
Element IDkmEntryPointNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia programu EntryPoint. IDkmEntryPointNotification jest wywoływana po wszystkich implementacjach elementu IDkmEntryPointReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wystrzelił z menedżera punktu przerwania, gdy punkt przerwania punktu wejścia został trafiony. Nie można pominąć zdarzeń programu EntryPoint. Aby zastąpić punkt wejścia, zaimplementuj element IDkmEntryPointQuery. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmEntryPointReceived |
Element IDkmEntryPointReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia programu EntryPoint. Funkcja IDkmEntryPointReceived jest wywoływana przed IDkmEntryPointNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wystrzelił z menedżera punktu przerwania, gdy punkt przerwania punktu wejścia został trafiony. Nie można pominąć zdarzeń programu EntryPoint. Aby zastąpić punkt wejścia, zaimplementuj element IDkmEntryPointQuery. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmExceptionAnalyzer |
Interfejs, który pozwala składnikowi concord analizować wyjątek i wymyślać ulepszony opis problemu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1). |
IDkmExceptionContinuedNotification |
Element IDkmExceptionContinuedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ExceptionContinued. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. WyjątekContinued jest wysyłany przez monitor debugowania po wznowieniu wykonywania w procesie docelowym, a dany wyjątek nie został zgnieciony. Innymi słowy, proces docelowy będzie kontynuowany wraz ze standardowym przetwarzaniem wyjątków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. |
IDkmExceptionController |
IDkmExceptionController jest implementowany przez monitory debugowania środowiska uruchomieniowego, które wyzwalają zdarzenia wyjątków (DkmExceptionInformation.OnDebugMonitorException()). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. |
IDkmExceptionDetailsProvider |
Ten interfejs umożliwia monitorom debugowania dostarczanie dodatkowych informacji o wyjątkach w postaci szczegółów wyjątków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmExceptionDetailsProvider164 |
Ten interfejs umożliwia wykonywanie rozszerzonych zapytań dotyczących wyjątku, w szczególności oryginalnego stosu wywołań. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
IDkmExceptionDetailsProvider173 |
Interfejs używany do implementowania DkmExceptionDetails.GetStackTraceInstructionAddresses. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
IDkmExceptionFormatter |
IDkmExceptionFormatter jest implementowany przez monitory debugowania środowiska uruchomieniowego, które wyzwalają zdarzenia wyjątków. W przeciwieństwie do elementu IDkmExceptionController, istnieje zazwyczaj jedna implementacja interfejsu IDkmExceptionFormatter dla każdej kategorii wyjątków. Na przykład, podczas gdy wiele podstawowych implementacji monitora debugowania jest w stanie wykryć wyjątki Win32, musi istnieć tylko jedna implementacja formatera. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. |
IDkmExceptionManager |
Interfejs implementowany przez składnik menedżera wyjątków, aby umożliwić włączanie lub wyłączanie wyzwalaczy wyjątków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmExceptionManager140 |
Jest to zaktualizowana wersja elementu IDkmExceptionManager, która została dodana dla programu Visual Studio 14.0 w celu zapewnienia sposobu usuwania wyzwalaczy wyjątków z menedżera wyjątków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmExceptionStackTraceProvider |
Umożliwia bibliotece implementujące obiekty wyjątków, które utrzymują przechwycony ślad stosu, aby uwidocznić ten ślad stosu w debugerze. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmExceptionTriggerHitNotification |
Element IDkmExceptionTriggerHitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ExceptionTriggerHit. Element IDkmExceptionTriggerHitNotification jest wywoływany po wszystkich implementacjach elementu IDkmExceptionTriggerHitReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zdarzenie "ExceptionTriggerHit" zawiera powiadomienie o spełnieniu wcześniej ustawionego elementu DkmExceptionTrigger. Zdarzenia ExceptionTriggerHit można pominąć, wywołując element DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId. |
IDkmExceptionTriggerHitReceived |
Element IDkmExceptionTriggerHitReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ExceptionTriggerHit. Element IDkmExceptionTriggerHitReceived jest wywoływany przed wywołaniem IDkmExceptionTriggerHitNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zdarzenie "ExceptionTriggerHit" zawiera powiadomienie o spełnieniu wcześniej ustawionego elementu DkmExceptionTrigger. Zdarzenia ExceptionTriggerHit można pominąć, wywołując element DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId. |
IDkmExceptionWinRTErrorExtractor |
Klasa IDkmExceptionWinRTErrorExtractor jest wywoływana przez menedżera wyjątków w celu wyodrębnienia rozszerzonych informacji o błędzie winRT z wyjątku JavaScript/CLR/C++/etc. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. |
IDkmExtendedRegisters |
Pobiera rozszerzone rejestry z kontekstu wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmFrameExceptionInterceptProvider |
Ten interfejs jest implementowany przez monitory debugowania, które zapewniają obsługę odwijania wyjątków od określonej ramki. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmFramePseudoLocalResultProvider |
Umożliwia udostępnienie dodatkowych węzłów do lokalnych ramek, rozpoznawalnych przez nazwę pseudorejestrowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmFuncEvalCompletedNotification |
Funkcja IDkmFuncEvalCompletedNotification jest implementowana przez składniki, które chcą nasłuchiwać zdarzenia FuncEvalCompleted. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Zdarzenie FuncEvalCompleted jest wysyłane po zakończeniu oceny funkcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmFuncEvalStartingNotification |
IDkmFuncEvalStartingNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia FuncEvalStarting. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Zdarzenie FuncEvalStarting jest wysyłane tuż przed rozpoczęciem oceny funkcji. W przypadku zagnieżdżonego stanu przerwania każda nowa ocena funkcji wyzwoli kolejne zdarzenie FuncEvalStarting. W tym scenariuszu element docelowy zatrzymuje się, a użytkownik przeprowadza ocenę z natychmiastowego okna, które wyzwala zdarzenie FuncEvalStarting. Użytkownik osiąga punkt przerwania w ramach ocenianej funkcji. Użytkownik wykonuje drugą ocenę, która wyzwala drugie zdarzenie FuncEvalStarting. Użytkownik umożliwia ukończenie obu ocen i wyzwala dwa zdarzenia FuncEvalCompleted. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmFunctionTableProvider |
Interfejs zapewniający dostęp do tabeli funkcji środowiska uruchomieniowego procesu. Domyślna implementacja jest dostarczana przez natywny monitor debugowania firmy Microsoft, który umożliwia znajdowanie tabel funkcji w załadowanych modułach Win32 i dynamicznych danych PData w procesach na żywo. Ten interfejs może zostać zaimplementowany przez podstawowe monitory debugowania w celu zapewnienia dostępu do tabeli funkcji środowiska uruchomieniowego dla procesów innych niż na żywo (np. minidumps). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGetExpensiveHashValue177 |
Udostępnia metody obliczania i zwracania rzeczywistej wartości skrótu "drogi". Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmGPUBreakpointBehaviorQuery |
Interfejs do wykonywania zapytań dotyczących zachowania punktu przerwania debugowania procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGPUComputeKernelOperation |
Zapewnia hierarchię jądra obliczeniowego, tj. grupę wątków, wektor obliczeniowy i wątek obliczeniowy do wyświetlenia przez użytkownika. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGPUDisassemblyQuery |
Służy do wykonywania zapytań o nieprzetworzone dezasemblacji w kodzie bajtu debuggee procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmGPUEnvironmentFilter |
Opcjonalny interfejs wewnętrzny, który można zaimplementować w celu dostosowania środowiska procesu docelowego procesora GPU przed jego uruchomieniem. Po stronie monitora debugowania można zaimplementować ten interfejs API lub IDkmGPUEnvironmentFilter. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: EngineId. |
IDkmGPUMemoryOperation |
Zaimplementowane przez podstawowe monitory debugowania w celu zapewnienia dostępu do pamięci docelowego procesu procesora GPU. Podstawowe monitory debugowania są odpowiedzialne za wykonywanie operacji we/wy pamięci. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGpuRaceHazardsAllowSameNotification |
Interfejs aktualizowania składników, gdy opcja "IsGpuRaceHazardsAllowSameSettingEnabled" jest włączona lub wyłączona. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmGPURegisterOperation |
Zaimplementowane przez podstawowe monitory debugowania w celu zapewnienia dostępu do rejestrów wątku obliczeniowego procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGPUSetMemoryAccessWarningOperation |
Protokół IDkmGPUSetMemoryAccessWarningOperation służy do konfigurowania ostrzeżeń dostępu do pamięci procesora GPU na debugowanym urządzeniu GPU. Jest on implementowany przez podstawowe monitory debugowania, które obsługują raportowanie wyjątków dostępu do pamięci procesora GPU. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmGPUSingleStepCompleteNotification |
Protokół IDkmGPUSingleStepCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia GPUSingleStepComplete. IDkmGPUSingleStepCompleteNotification jest wywoływana po wszystkich implementacjach IDkmGPUSingleStepCompleteReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysyłane po zakończeniu pojedynczego kroku wątku procesora GPU. Zdarzenie może zostać wyzwolone przez inny wątek od wątku żądania w tym samym warp. Zdarzenia GPUSingleStepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmGPUSingleStepCompleteReceived |
Protokół IDkmGPUSingleStepCompleteReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia GPUSingleStepComplete. IDkmGPUSingleStepCompleteReceived jest wywoływany przed IDkmGPUSingleStepCompleteNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysyłane po zakończeniu pojedynczego kroku wątku procesora GPU. Zdarzenie może zostać wyzwolone przez inny wątek od wątku żądania w tym samym warp. Zdarzenia GPUSingleStepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmGPUSymbolProviderCallback |
Interfejs wywołania zwrotnego implementowany przez dostawców symboli procesora GPU w celu dostarczania informacji z magazynu symboli do podstawowych monitorów debugowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmGPUSymbolQuery |
Ten interfejs API służy do odczytywania informacji o symbolu DPC++. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. |
IDkmGPUSymbolQueryCallback |
Umożliwia składnikom zdalnym uzyskiwanie informacji o pozycji źródłowej dla języka DPC++ w przypadku, gdy dostawca symboli znajduje się na maszynie programu VS. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: RuntimeId, SymbolProviderId. |
IDkmGPUTempBreakStepper |
Interfejs implementowany przez podstawowe monitory debugowania procesora GPU w celu włączenia tymczasowych punktów przerwania instrukcji w kroku. Tymczasowe punkty przerwania instrukcji są przekazywane do elementu ContinueDebugEvent. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmGroupCompiledInspectionQueryProcessor |
Służy do wykonywania skompilowanego przetwarzania wyrażeń grupy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmGroupLanguageExpressionEvaluator |
Ten interfejs umożliwia rozszerzenie języka w celu zapewnienia możliwości oceny wyrażeń w grupie wątków. Zazwyczaj powinno być implementowane przez wszystkie rozszerzenia językowe. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmHeuristicStackWalker |
Element IDkmHeuristicStackWalker jest wywoływany przez dostawcę stosu. Jest wywoływany podczas próby przejścia przez ramki bez symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmHiddenEntryPointNotification |
IDkmHiddenEntryPointNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia HiddenEntryPoint. IDkmHiddenEntryPointNotification jest wywoływana po wszystkich implementacjach IDkmHiddenEntryPointReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wyzwolony z menedżera punktu przerwania, gdy punkt przerwania punktu wejścia został trafiony w ukrytym kodzie. Rzeczywisty punkt wejścia jest opóźniony do momentu pozostawienia ukrytego kodu i może nawet nie zostać wyzwolony, jeśli nie możemy odnaleźć odpowiedniego otwarcia. Program HiddenEntryPoint zostanie wyzwolony dodatkowo dla każdej niezbędnej pracy za kulisami. Nie można pominąć zdarzeń HiddenEntryPoint. Aby zastąpić punkt wejścia, zaimplementuj element IDkmHiddenEntryPointQuery. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmHiddenEntryPointReceived |
Element IDkmHiddenEntryPointReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia HiddenEntryPoint. IDkmHiddenEntryPointReceived jest wywoływany przed IDkmHiddenEntryPointNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wyzwolony z menedżera punktu przerwania, gdy punkt przerwania punktu wejścia został trafiony w ukrytym kodzie. Rzeczywisty punkt wejścia jest opóźniony do momentu pozostawienia ukrytego kodu i może nawet nie zostać wyzwolony, jeśli nie możemy znaleźć odpowiedniego otwarcia. HiddenEntryPoint zostanie wyzwolony dodatkowo dla wszelkich niezbędnych prac w tle. Nie można pominąć zdarzeń HiddenEntryPoint. Aby zastąpić punkt wejścia, zaimplementuj element IDkmHiddenEntryPointQuery. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmHostingProcessShowNotification |
Interfejs implementowany przez składniki, które chcą dowiedzieć się, kiedy rozpoczyna się aktywne (nieukryte) debugowanie procesu hostingu (np. my_app.vshost.exe). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmIISDebuggingServices |
Interfejs umożliwiający udostępnianie narzędzi debugowania usług IIS do sdM. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. |
IDkmIISResolver |
Interfejs umożliwiający zapewnienie rozpoznawania procesów pracy url> na komputerze programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. |
IDkmIISResolver160 |
Interfejs umożliwiający zapewnienie rozpoznawania procesów procesów procesu url na> potrzeby profilowania scenariuszy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). |
IDkmIISResolver170 |
Interfejs do udostępniania informacji o puli aplikacji usług IIS. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
IDkmILFailureReasonResolver |
Usuwa plik DkmILFailureReason w komunikacie o błędzie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmILInterpreter |
Interfejs do interpretowania il. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmInlineFrameCount |
Ten interfejs API służy do określania liczby ramek wbudowanych w lokalizacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). |
IDkmInlineSourceSymbolQuery |
Ten interfejs API służy do odczytywania informacji o symbolach wbudowanych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmInstructionAddressOperator |
Interfejs umożliwiający udostępnianie operacji specyficznych dla środowiska uruchomieniowego dla adresów instrukcji. W przypadku instrukcji natywnych i zarządzanych ta usługa jest dostarczana przez dostawcę symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmInstructionAddressProvider |
Interfejs zapewniający adresy instrukcji specyficznych dla procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmInstructionAddressResolver |
Interfejs zapewniający rozpoznawanie adresów procesora CPU specyficznych dla środowiska uruchomieniowego. Można to zaimplementować po stronie serwera lub klienta (np. kompilacja natywna CLR). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmInstructionPatchNotification |
Interfejs implementowany przez składniki, które chcą otrzymywać powiadomienia, gdy podstawowy monitor debugowania wykonuje zapis pamięci do strumienia instrukcji. Ten interfejs można zaimplementować tylko w procesie monitorowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmInstructionStepper |
Interfejs implementowany przez podstawowe monitory debugowania w celu zapewnienia krokowych elementów pierwotnych na poziomie instrukcji. Ten interfejs jest używany przez monitory debugowania środowiska uruchomieniowego w celu zaimplementowania kontroli wykonywania na poziomie użytkownika. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmInterceptExceptionCompletedNotification |
IDkmInterceptExceptionCompletedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia InterceptExceptionCompleted. IDkmInterceptExceptionCompletedNotification jest wywoływana po wszystkich implementacjach elementu IDkmInterceptExceptionCompletedReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysłane przez monitor debugowania po usunięciu wyjątku do określonej ramki. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmInterceptExceptionCompletedReceived |
Element IDkmInterceptExceptionCompletedReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia InterceptExceptionCompleted. Przed wywołaniem elementu IDkmInterceptExceptionCompletedReceived jest wywoływana przed wywołaniem IDkmInterceptExceptionCompletedNotification. Z poziomu tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysłane przez monitor debugowania po usunięciu wyjątku do określonej ramki. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmIntrinsicFunctionEvaluator |
Ten interfejs umożliwia ewaluatorowi wyrażeń określenie operacji wewnętrznych, które mają być wywoływane za pośrednictwem il, który EE jest odpowiedzialny za implementację. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: LanguageId, SourceId. |
IDkmIntrinsicFunctionEvaluator140 |
Ten interfejs umożliwia ewaluatorowi wyrażeń określenie operacji wewnętrznych, które mają być wywoływane za pośrednictwem il, który EE jest odpowiedzialny za implementację. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: LanguageId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmJustMyCodeEnableNotification |
Interfejs do aktualizowania składników po włączeniu lub wyłączeniu funkcji JustMyCode. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmJustMyCodeProvider |
Interfejs określający, czy określona lokalizacja jest kodem użytkownika. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmLanguageAsyncStepper |
Ten interfejs jest implementowany przez języki, aby umożliwić zachowanie krokowe dla metod asynchronicznych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageConditionEvaluator |
Ten interfejs jest implementowany przez ewaluatorów wyrażeń, które działają lub komputer docelowy i chcą obsługiwać warunkowe punkty przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageExpressionCompiler |
Ten interfejs umożliwia rozszerzenie języka wstępne kompilowanie warunków punktu przerwania, dzięki czemu to samo wyrażenie może być szybko oceniane po osiągnięciu punktu przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageExpressionEvaluator |
Ten interfejs umożliwia rozszerzenie języka zapewnienie możliwości oceny wyrażeń w różnych oknach inspekcji danych debugera (watch, autos, natychmiastowe, pamięci, dezasemblacji itp.). Zazwyczaj powinno być implementowane przez wszystkie rozszerzenia języka. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageFrameDecoder |
Ten interfejs umożliwia rozszerzenie języka formatowanie wyświetlania nazw funkcji w oknie stosu wywołań. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageInstructionDecoder |
Ten interfejs umożliwia rozszerzenie języka formatowanie wyświetlania kolumny "Funkcja" w oknie punktów przerwania oraz w innych miejscach, które próbują sformatować adres instrukcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageObjectIdProvider |
Jest to opcjonalny interfejs implementowany przez ewaluatorów wyrażeń. Powinien zostać zaimplementowany przez ewaluatorów wyrażeń, które zwracają wyniki oceny z flagą "CanHaveObjectId". Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. |
IDkmLanguageReturnValueEvaluator |
Ten interfejs umożliwia rozszerzeniu języka ocenę zwracanych wartości zebranych przez środowisko uruchomieniowe podczas wykonywania kroków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLanguageReturnValueEvaluator2 |
Ten interfejs umożliwia rozszerzeniu języka ocenę zwracanych wartości zebranych przez środowisko uruchomieniowe podczas wykonywania kroków. Jest to zamiennik elementu IDkmLanguageReturnValueEvaluator, który umożliwia składnikom pobieranie elementów danych skojarzonych z wartością zwracaną. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmLanguageStepIntoFilterCallback |
Ten interfejs umożliwia rozszerzenie języka wpływać na Step-Into zachowanie natywnego środowiska uruchomieniowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId. |
IDkmLaunchResumeProcess |
IDkmLaunchResumeProcess służy do uruchamiania i wznawiania procesu. Jest wywoływany z monitora debugowania w klawiszu F5 i z transportu w ctrl-F5. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmLaunchResumeProcess150 |
Rozszerzenie do IDkmLaunchResumeProcess w celu obsługi przekazywania utworzonych procesów DkmProcess podczas wznawiania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3). |
IDkmLoadCompleteNotification |
Element IDkmLoadCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia LoadComplete. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. Moduł LoadComplete jest wysyłany przez podstawowy monitor debugowania podczas uruchamiania lub dołączania do procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmManagedAsyncTaskDecoder |
Uzyskuje informacje dotyczące konstruowania ram kontynuacji zarządzanego zadania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: EngineId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedFuncEvalQuickAbortServices |
Interfejs umożliwiający obsługę szybkiego przerwania zarządzanego elementu func-eval. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmManagedFuncEvalServices |
Interfejs udostępniany przez zarządzany monitor debugowania w celu kontynuowania procesu oceny funkcji zarządzanej. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmManagedFuncEvalServices150 |
Interfejs udostępniany przez zarządzany monitor debugowania w celu kontynuowania procesu oceny funkcji zarządzanej. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmManagedHeapPathsToRootProvider |
Interfejs zaimplementowany przez zarządzaną dm, aby umożliwić chodzenie przez zarządzaną stertę. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2). |
IDkmManagedHeapSampler |
Interfejs zaimplementowany przez aplikację sampler w celu uzyskania przykładowej zarządzanej sterty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedHeapSampler174 |
Interfejs implementowany przez próbkator stert w celu odroczenia analizy korzeni. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4). |
IDkmManagedHeapSampler175 |
Interfejs implementowany przez próbkator stert do wykrywania zduplikowanych ciągów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5). |
IDkmManagedHeapSampler176 |
Interfejs implementowany przez próbkator stert do wykrywania zduplikowanych ciągów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6). |
IDkmManagedHeapSampler177 |
Interfejs zaimplementowany przez zarządzany przykład stertę do pobierania segmentów i analizowania zduplikowanych ciągów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmManagedHeapSampler178 |
Interfejs implementowany przez próbkator stert do wykrywania przecieków programu obsługi zdarzeń. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8). |
IDkmManagedHeapWalker |
Interfejs zaimplementowany przez zarządzaną dm, aby umożliwić chodzenie przez zarządzaną stertę. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedHeapWalker175 |
Interfejs zaimplementowany przez zarządzaną usługę DM w celu znalezienia typu ciągu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5). |
IDkmManagedHeapWalker177 |
Interfejs zaimplementowany przez zarządzaną usługę DM, aby umożliwić chodzenie przez zarządzaną stertę. Uwidacznia metody związane ze śledzeniem odwołań zarządzanych do obiektów natywnych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmManagedReturnValueFetcher |
Uzyskuje informacje o wartości zwracanej zarządzanej z zarządzanej maszyny zarządzanej do oceny. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedSteppingCodePathProvider |
Używany przez managedDM do wykonywania zapytań o informacje o ścieżce kodu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedTaskServices |
Udostępnia usługi dostawcom zadań i monitorom debugowania na potrzeby uzyskiwania informacji o zadaniach zarządzanych. Jest to implementowane przez shim Managed EE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmManagedTaskServices158 |
Udostępnia usługi dostawcom zadań i monitorom debugowania na potrzeby uzyskiwania informacji o zadaniach zarządzanych. Jest to implementowane przez inspektora CLR. Ten interfejs może ulec zmianie w przyszłych wersjach. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmManagedThreadProperties |
Uwidacznia właściwości zarządzanego wątku, takiego jak zarządzany identyfikator wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmMCppSymbolProvider |
Dostawca symboli dla zarządzanego języka C++. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1). |
IDkmMemoryOperation |
Zaimplementowane przez podstawowe monitory debugowania w celu zapewnienia dostępu do pamięci procesu docelowego. Ten interfejs jest również implementowany przez składniki wyższego poziomu w celu zapewnienia buforowania pamięci. Podstawowe monitory debugowania są odpowiedzialne za wykonywanie operacji we/wy pamięci, utrzymywanie tabeli niewidocznych zapisów i dostarczanie zdarzeń po zaktualizowaniu niewidocznej tabeli zapisu (za pośrednictwem DkmProcess.OnInstructionPatchInserted/Removed). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmMergedMonitorStackWalk |
Element IDkmMergedMonitorStackWalk jest wywoływany przez dostawcę stosu. Będzie arbitrate między różnymi implementacjami IDkmMonitorStackWalk do chodzenia części stosu, które powinny być chodzić wewnątrz monitora (zamiast chodzić wewnątrz silnika). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmMergedMonitorStackWalk164 |
Dostawca stosu wywołuje element IDkmMergedMonitorStackWalk164. Będzie arbitrate między różnymi implementacjami IDkmMonitorStackWalk do chodzenia części stosu, które powinny być chodzić wewnątrz monitora (zamiast chodzić wewnątrz silnika). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
IDkmMinidumpQuery |
Uzyskuje informacje o debugowaniu minidump. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmMinidumpQuery1610 |
Uzyskuje informacje o debugowaniu minidump. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10). |
IDkmMinidumpThreadInfo |
Uzyskuje informacje o stanie wątku przechowywane w minidump. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
IDkmModuleCreateNotification |
Element IDkmModuleCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleCreate. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. ModuleCreate jest wysyłany, gdy dostawca symboli ładuje nowe symbole, a tym samym jest tworzony nowy moduł DkmModule. Moduł DkmModule będzie istnieć tylko dla wystąpień modułów, które mają symbole. ModułTworzenie zdarzeń można pominąć. W takim przypadku moduł będzie niewidoczny dla składników powyżej poziomu, na którym moduł został pominięty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. |
IDkmModuleInstanceDisabledNotification |
Interfejs implementowany przez monitory debugowania w celu wykonywania aktualizacji po zmianie właściwości "Disabled" modułu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleInstanceLoadNotification |
Element IDkmModuleInstanceLoadNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleInstanceLoad. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. ModułInstanceLoad jest wyzwalany po załadowaniu modułu przez proces docelowy. Między innymi to zdarzenie jest używane przez dostawców symboli do ładowania symboli, a menedżer punktu przerwania ustawia punkty przerwania. ModuleInstanceLoad jest wyzwalany dla wszystkich modułów, nawet jeśli nie ma załadowanych symboli. Zdarzenia ModuleInstanceLoad można pominąć. W takim przypadku moduł będzie niewidoczny dla składników powyżej poziomu, na którym moduł został pominięty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleInstanceUnloadNotification |
Element IDkmModuleInstanceUnloadNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleInstanceUnload. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. ModułInstanceUnload jest wysyłany, gdy monitor wykryje, że moduł został zwolniony z procesu docelowego. Nie można pominąć zdarzeń ModuleInstanceUnload. Jeśli jednak zdarzenie ModuleLoad zostało pominięte, modułUnload zatrzyma przetwarzanie na poziomie, na którym moduł ModuleLoad został pominięty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleLocator |
Interfejs zaimplementowany przez monitory debugowania, które obsługują zrzuty debugowania, aby umożliwić interfejsowi wyszukiwania plików binarnych, które nie zostały znalezione podczas pierwotnego ładowania zrzutu. Ścieżka symboli jest aktualizowana przez interfejs użytkownika, jeśli użytkownik wybierze ścieżkę podczas wyszukiwania pliku binarnego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleMetadataStatusQuery |
Podczas debugowania minidump zarządzanego określa, czy metadane są dostępne dla danego wystąpienia modułu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmModuleModifiedNotification |
Składniki powinny implementować ten interfejs, aby był informowany o tym, kiedy moduł zmienia się z powodu enC lub dynamicznie emitowanego kodu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmModuleSymbolSearchResult175 |
Umożliwia pobieranie wyników wyszukiwania symboli dla wystąpienia modułu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
IDkmModuleSymbolsLoaded |
Interfejs implementowany przez podstawowe monitory debugowania w celu wyzwolenia zdarzenia załadowanego symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleSymbolsLoadedNotification |
Element IDkmModuleSymbolsLoadedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleSymbolsLoaded. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. ModułSymbolsLoaded jest wysyłany po załadowaniu symboli dla określonego wystąpienia modułu. Jest to wysyłane, gdy symbole są ładowane jako dll/exe ładowane w procesie docelowym lub gdy użytkownik poprosi o ponowne załadowanie symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleSymbolsReload |
Umożliwia zastąpienie pliku symboli bazowego modułu DkmModule. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
IDkmModuleSymbolsReload175 |
Umożliwia zastąpienie elementu ISymUnmanagedReader bazowego modułu DkmModule. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
IDkmModuleSymbolsReplacedNotification |
Element IDkmModuleSymbolsReplacedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleSymbolsReplaced. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. ModułSymbolsReplaced jest wyzwalany po zastąpieniu symboli modułu. Zazwyczaj ze względu na operacje, takie jak dekompilacja. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
IDkmModuleSymbolsUpdatedNotification |
Element IDkmModuleSymbolsUpdatedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ModuleSymbolsUpdated. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. ModuleSymbolsUpdated jest wysyłany przez monitor debugowania, gdy dynamiczny kod w procesie docelowym aktualizuje stan symbolu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmModuleUserCodeDeterminer |
Interfejs zaimplementowany w celu zapewnienia stanu Just-My-Code dla modułów. Aby obsługiwać okno modułów, ten interfejs powinien zostać zaimplementowany w składniku IDE, ale można go również zaimplementować po stronie monitora, jeśli jest to przydatne. Firma Microsoft implementuje ten interfejs po stronie monitora dla kodu zarządzanego, ale nie natywnego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmMonitorStackWalk |
Analizuje część stosu, który pochodzi z określonej klasy DkmRuntimeInstance i zwraca ramki z tego środowiska uruchomieniowego. IDkmMonitorStackWalk służy do tego chodzenia na komputerze docelowym i zazwyczaj robi ten spacer bez symboli. Należy zauważyć, że dokładny przewodnik stosu monitora zwykle wymaga: 1. Monitor środowiska uruchomieniowego, aby w pełni zrozumieć konwencję wywoływania jego bazowego środowiska uruchomieniowego, a środowisko uruchomieniowe stosuje pewien mechanizm, dzięki czemu nie potrzebuje kodu z innych środowisk uruchomieniowych, które znajdują się na stosie do chodzenia. Na przykład clR utrzymuje zakresy stosu, więc gdy kod zarządzany jest wywoływany natywne, środowisko CLR nadal może znaleźć zarządzany kod bez konieczności przechodzenia przez metodę natywną. -or- 2. Jednolita konwencja wywoływania, zgodnie z którą musi przestrzegać cały kod. Na przykład cały kod musi być zgodny z jednolitą konwencją wywoływania w wersjach systemu Windows x64 i IA-64. Firma Microsoft zapewni pięć implementacji IDkmMonitorStackWalk: 1. Implementacja ICorDebug w wersji 2 2. Implementacja ICorDebug w wersji 4 3. Implementacja dla chodzenia x64/ia64 PDATA. 4. Implementacja dla języka ActiveScript. 5. Domyślna implementacja, która łączy ze sobą nieznane regiony, które mają być wdrażane w procesie aparatu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmNameUndecorator |
Ten interfejs API służy do cofania nazw symboli. Firma Microsoft udostępnia implementację tej funkcji w celu niezdefiniowania nazw symboli w plikach PDB. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. |
IDkmNativeCppEditAndContinueNotification |
Interfejs implementowany przez składniki do nasłuchiwania natywnych powiadomień ENC. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmNativeDebuggingEnableNotification |
Interfejs do aktualizowania składników, gdy debugowanie natywne jest włączone lub wyłączone dla określonego procesu. Należy pamiętać, że w przypadku programu Visual Studio 11 nie można włączyć/wyłączyć debugowania natywnego na bieżąco, ale przyszłe wersje mogą obsługiwać tę funkcję. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmNativeEditAndContinueUpdate |
Interfejs implementowany przez natywną edycję i kontynuuj aparat w celu zapewnienia stosowania oczekujących zmian kodu, walidacji i zatwierdzenia. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmNativeEditAndContinueUpdate140A |
Interfejs implementowany przez natywną edycję i kontynuuj aparat, aby zezwolić na anulowanie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1). |
IDkmNativeExportsEnableNotification |
Interfejs do aktualizowania składników, gdy opcja "IsNativeExportsEnabled" jest włączona lub wyłączona. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmNativeExportTableDecoder |
Zapewnia dekodowanie tabel eksportu w plikach systemu Windows PE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmNativeExportTableDecoder150 |
Zapewnia dodatkowe dekodowanie tabel eksportu w plikach systemu Windows PE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmNativeJustMyCodeProvider158 |
Interfejs określający, czy określona lokalizacja jest kodem użytkownika. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmNativeJustMyCodeSteppingEnableNotification |
Interfejs do aktualizowania składników, gdy natywne krokowanie JustMyCode jest włączone lub wyłączone. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmNativeStackCallback |
Zapewnia mechanizm podstawowego monitora debugowania i natywnego monitora debugowania w celu uzyskania informacji o ramkach stosu, które mogą wymagać obsługi symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmNativeSteppingCallSiteProvider |
Wywoływana przez natywny element implementatora IDkmSteppingCodePathDecoder w celu wyliczenia native CodePaths. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmNativeSymbolProviderCallback |
Interfejs wywołania zwrotnego implementowany przez dostawcę symboli PDB na potrzeby zwracania informacji o symbolach do podstawowego monitora debugowania. Ten interfejs powinien być zwykle implementowany na komputerze programu Visual Studio. Implementacje po stronie monitora debugowania mogą nie być wywoływane. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmNativeSymbolProviderCallback120a |
Opcjonalny interfejs, który może być implementowany przez natywnych dostawców symboli i używany przez natywną dm, aby umożliwić wykonywanie kroków. Jeśli nie zostanie zaimplementowana, natywna dm powróci do elementu IDkmNativeSymbolProviderCallback.GetNativeInstructionMetadataCallback i IDkmSymbolProviderCallback.GetSteppingRanges. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmNatvisComplexityLimitChangedNotification |
Interfejs do aktualizowania składników podczas zmiany limitu złożoności natvis. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmNatvisRecursionLimitChangedNotification |
Interfejs do aktualizowania składników podczas zmiany limitu rekursji natvis. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmNonDebugProcessExitNotification |
IDkmNonDebugProcessExitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia NonDebugProcessExit. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. NonDebugProcessExit jest wyzwalany po zakończeniu skojarzonego procesu bez debugowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9). |
IDkmObjectFavoritesProvider |
Udostępnia środowisko IDE z funkcją dodawania i usuwania ulubionych elementów w obiektach w oknach EE. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
IDkmOutOfBandExceptionNotification |
Element IDkmOutOfBandExceptionNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia OutOfBandException. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. Zdarzenie "OutOfBandException" zapewnia powiadomienie z monitorów debugowania o wyjątkach poza pasmem, które występują w procesie docelowym podczas debugowania międzyoperacyjności zarządzanej/natywnej. To powiadomienie o zdarzeniu jest używane przez menedżera wyjątków. Zdarzenia poza pasmem mogą wystąpić w dowolnym momencie (w tym po zatrzymaniu) i muszą być kontynuowane natychmiast. Zdarzenia OutOfBandException można pominąć przez wywołanie metody DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId. Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1). |
IDkmOutOfBandProcessContinueNotification |
Dostarcza powiadomienia, gdy proces docelowy ma zostać wznowiony ze zdarzenia debugowania poza pasmem podczas debugowania międzyoperatywnego zarządzanego w potoku procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1). |
IDkmOutOfProcessSymbolLoadingEnabledNotification |
Interfejs do aktualizowania składników podczas ładowania symboli natywnych poza procesem jest włączony lub wyłączony. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). |
IDkmPendingFileLineBreakpointCallback |
Ten interfejs jest implementowany przez składniki, które chcą dodać obiekty DkmPendingFileLineBreakpoint do menedżera punktu przerwania. Menedżer punktu przerwania wyśle zapytanie o bieżącą lokalizację przy pierwszym powiązaniu i podczas stosowania polecenia Edytuj i Kontynuuj. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId. |
IDkmPerformanceMeasurement140 |
Interfejs służący do zbierania danych wydajności z debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmProcessContinueNotification |
Dostarcza powiadomienie, gdy proces docelowy ma zostać wznowiony. Zostanie ona wyzwolona po trafieniu klawisza F5 przez użytkownika, rozpoczęciu func-eval, zakończeniu wstrzymania zdarzenia (np. załadowaniu modułu) lub zakończeniu zdarzenia zatrzymania. Głównym celem tego zdarzenia jest umożliwienie składnikom opróżniania wszystkich pamięci podręcznych, które mają. To powiadomienie może zostać wyzwolone z dowolnego wątku, ale nie zostanie wyzwolone ponownie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmProcessCreateNotification |
IDkmProcessCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ProcessCreate. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i będzie można go zbadać. Funkcja ProcessCreate jest uruchamiana po utworzeniu obiektu DkmProcess. Oznacza to, że debuger rozpoczął dołączanie do określonego procesu. W scenariuszach uruchamiania to zdarzenie jest wyzwalane, zanim będzie można uruchomić dowolny kod w procesie docelowym. Implementacje mogą filtrować wyłącznie w oparciu o typ kodu w procesie docelowym, a programy obsługi będą również uruchamiane, gdy wątek interfejsu użytkownika jest blokowany, aż aparat powróci. Z tych powodów jest często lepiej nasłuchiwać zdarzenia RuntimeInstanceLoad. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmProcessDebuggerInitializeWaiter |
Opcjonalny interfejs implementowany przez podstawowe monitory debugowania, które używają tego samego wątku zdarzeń dla wielu procesów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmProcessExecutionNotification |
Zawiera powiadomienie, że proces zostanie wstrzymany lub wznowiony. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmProcessExitNotification |
Element IDkmProcessExitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ProcessExit. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Element ProcessExit jest wyzwalany, gdy debuger nie debuguje już określonego procesu. Może to być spowodowane tym, że debuger odłączył się od określonego procesu lub dlatego, że proces zakończył się. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmProcessLaunchEnvironmentFilter |
Opcjonalny interfejs, który można zaimplementować w celu dostosowania środowiska procesu docelowego przed jego uruchomieniem. Można dostosować środowisko z dwóch punktów. Po stronie środowiska IDE obiekt wywołujący launchDebugTargets może określić blok środowiska. Po stronie monitora debugowania można zaimplementować ten interfejs API. Ten interfejs API jest sugerowany, jeśli po stronie środowiska IDE nie ma wystarczającej ilości informacji, aby poprawnie określić środowisko, lub jeśli rozszerzenie nie kontroluje wywołania elementu LaunchDebugTargets. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId. |
IDkmProcessLaunchEnvironmentFilter140 |
Opcjonalny interfejs, który można zaimplementować w celu dostosowania środowiska procesu docelowego przed jego uruchomieniem. Jest to zaktualizowana wersja elementu IDkmProcessLaunchEnvironmentFilter, która została dodana dla programu Visual Studio 14.0 w celu udostępnienia dodatkowych informacji do filtrów środowiska. Program Visual Studio 14+ wywoła zarówno stary, jak i nowy interfejs API, dlatego składnik zazwyczaj nie powinien implementować obu interfejsów. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmProcessQueryOperation |
Zapytanie o stan procesu debugowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmProcessSnapshotAddedNotification |
IDkmProcessSnapshotAddedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ProcessSnapshotAdded. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Metoda ProcessSnapshotAdded jest uruchamiana po utworzeniu elementu DkmProcessSnapshot i dodaniu go do skojarzonego procesu DkmProcess. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6). |
IDkmProcessSnapshotRemovedNotification |
IDkmProcessSnapshotRemovedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ProcessSnapshotRemoved. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. ProcessSnapshotRemoved jest wyzwalany po usunięciu DkmProcessSnapshot ze skojarzonych procesów DkmProcess. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6). |
IDkmProductionAgent |
Operacje agenta związane z diagnostyką produkcyjną. Agent zostanie uruchomiony przy użyciu przekierowania STDIN i STDOUT. Klient może zapisywać dane w usłudze STDIN, wysyłając ciąg UTF8 za pomocą metody SendMessage. Gdy proces jest zapisywany w źródle STDOUT, DkmCustomMessage::SendToVsService jest wywoływany z identyfikatorem źródła ustawionym na DkmProductionAgent::UniqueId i zakodowaną zawartość UTF8 w parametrm1. Implementacje tego interfejsu są zawsze wywoływane (filtrowanie nie jest obsługiwane). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2). |
IDkmProductionConnection |
Operacje związane z diagnostyką produkcyjną. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2). |
IDkmRecordedProcessInfoProvider |
Interfejs zaimplementowany przez podstawowe usługi DM, aby zapewnić zarejestrowane informacje o procesie bez debugowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRegisterWrite |
Umożliwia odczytywanie lub zapisywanie wartości rejestru przez stałą CV. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmRequireFullTrustForSourceServerNotification |
Interfejs aktualizowania składników, gdy pozycja RequireFullTrustForSourceServer jest włączona lub wyłączona. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmReturnValuesNotification |
IDkmReturnValuesNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ReturnValues. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Zdarzenie ReturnValues jest wysyłane podczas kroku, gdy zebrano co najmniej jedną wartość DkmRawReturnValues. Rzeczywista ocena zostanie przeprowadzona na zdarzeniu StepComplete w wątku, w którym zarejestrowano wartości zwracane. Zdarzenia ReturnValues można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmRunningProcessInfoProvider |
Interfejs zaimplementowany przez podstawowe usługi DM w celu udostępnienia listy procesów i podaj podstawowe informacje na temat uruchamiania procesów bez dołączania debugera do procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: TransportKind. |
IDkmRunningProcessInfoProvider160 |
Interfejs zaimplementowany przez podstawowe usługi DM w celu udostępnienia listy procesów i podaj podstawowe informacje na temat uruchamiania procesów bez dołączania debugera do procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). |
IDkmRuntimeBreakpointConditionFailedNotification |
IDkmRuntimeBreakpointConditionFailedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpointConditionFailed. IDkmRuntimeBreakpointConditionFailedNotification jest wywoływana po wszystkich implementacjach IDkmRuntimeBreakpointConditionFailedReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zawiera powiadomienie, że punkt przerwania środowiska uruchomieniowego został trafiony, ale stan punktu przerwania napotyka błąd czasu wykonywania. Zdarzenia RuntimeBreakpointConditionFailed można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3). |
IDkmRuntimeBreakpointConditionFailedReceived |
IDkmRuntimeBreakpointConditionFailedReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpointConditionFailed. IDkmRuntimeBreakpointConditionFailedReceived jest wywoływany przed IDkmRuntimeBreakpointConditionFailedNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zawiera powiadomienie, że punkt przerwania środowiska uruchomieniowego został trafiony, ale stan punktu przerwania napotyka błąd czasu wykonywania. Zdarzenia RuntimeBreakpointConditionFailed można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3). |
IDkmRuntimeBreakpointHitWithErrorNotification |
IDkmRuntimeBreakpointHitWithErrorNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpointHitWithError. IDkmRuntimeBreakpointHitWithErrorNotification jest wywoływana po wszystkich implementacjach IDkmRuntimeBreakpointHitWithErrorReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zawiera powiadomienie, że punkt przerwania środowiska uruchomieniowego został trafiony, ale przetwarzanie spowodowało błąd niemożliwy do odzyskania. Proces jest teraz zatrzymany, a punkt przerwania jest teraz w stanie błędu i nie zostanie ponownie trafiony. Zdarzenia RuntimeBreakpointHitWithError można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRuntimeBreakpointHitWithErrorReceived |
IDkmRuntimeBreakpointHitWithErrorReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpointHitWithError. IDkmRuntimeBreakpointHitWithErrorReceived jest wywoływany przed IDkmRuntimeBreakpointHitWithErrorNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zawiera powiadomienie, że punkt przerwania środowiska uruchomieniowego został trafiony, ale przetwarzanie spowodowało błąd niemożliwy do odzyskania. Proces jest teraz zatrzymany, a punkt przerwania jest teraz w stanie błędu i nie zostanie ponownie trafiony. Zdarzenia RuntimeBreakpointHitWithError można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRuntimeBreakpointNotification |
IDkmRuntimeBreakpointNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpoint. IDkmRuntimeBreakpointNotification jest wywoływana po wszystkich implementacjach elementu IDkmRuntimeBreakpointReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zapewnia powiadomienie o trafieniu punktu przerwania środowiska uruchomieniowego (DkmRuntimeBreakpoint). Punkty przerwania środowiska uruchomieniowego to obiekty punktu przerwania niskiego poziomu. Powiadomienie o punktach przerwania wyższego poziomu (DkmPendingBreakpoint/DkmBoundBreakpoint) jest uzyskiwane za pośrednictwem zdarzenia BoundBreakpointHit. Zdarzenia RuntimeBreakpoint można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmRuntimeBreakpointReceived |
IDkmRuntimeBreakpointReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeBreakpoint. IDkmRuntimeBreakpointReceived jest wywoływany przed IDkmRuntimeBreakpointNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zapewnia powiadomienie o trafieniu punktu przerwania środowiska uruchomieniowego (DkmRuntimeBreakpoint). Punkty przerwania środowiska uruchomieniowego to obiekty punktu przerwania niskiego poziomu. Powiadomienie o punktach przerwania wyższego poziomu (DkmPendingBreakpoint/DkmBoundBreakpoint) jest uzyskiwane za pośrednictwem zdarzenia BoundBreakpointHit. Zdarzenia RuntimeBreakpoint można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmRuntimeDataBreakpointHitNotification |
IDkmRuntimeDataBreakpointHitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeDataBreakpointHit. IDkmRuntimeDataBreakpointHitNotification jest wywoływana po wszystkich implementacjach elementu IDkmRuntimeDataBreakpointHitReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Zapewnia powiadomienie, że punkt przerwania danych środowiska uruchomieniowego został trafiony. Zdarzenia RuntimeDataBreakpointHit można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRuntimeDataBreakpointHitReceived |
IDkmRuntimeDataBreakpointHitReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeDataBreakpointHit. IDkmRuntimeDataBreakpointHitReceived jest wywoływany przed IDkmRuntimeDataBreakpointHitNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Zapewnia powiadomienie, że punkt przerwania danych środowiska uruchomieniowego został trafiony. Zdarzenia RuntimeDataBreakpointHit można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRuntimeDisassemblyProvider |
Służy do dezasemblacji instrukcji w przestrzeni adresowej debuggee w odniesieniu do określonego środowiska uruchomieniowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmRuntimeFunctionResolver |
Ten interfejs jest implementowany przez ewaluatorów wyrażeń, które są ładowane na komputerze docelowym do mapowania między wyrażeniem funkcji/adresu i instrukcjami reprezentowanymi przez nią. Służy do wiązania punktów przerwania funkcji. Oprócz ewaluatorów wyrażeń ten interfejs może być również implementowany przez inne składniki, które mogą chcieć powiązać punkty przerwania funkcji przy użyciu danych z procesu docelowego (np. natywne punkty przerwania funkcji eksportu). Składniki filtrowania na podstawie identyfikatorów LanguageId i/lub VendorId powinny upewnić się, że identyfikator Guid.Empty jest jedną z akceptowanych wartości w filtrze. Aby uzyskać więcej informacji, zobacz DkmRuntimeFunctionResolutionRequest.CompilerId. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId. |
IDkmRuntimeFunctionResolverClient |
Ten interfejs jest implementowany przez menedżera punktów przerwania, dzięki czemu może otrzymywać powiadomienie, że żądanie rozpoznawania funkcji środowiska uruchomieniowego zostało rozwiązane w nowej funkcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId. |
IDkmRuntimeHandleComparer |
Ten interfejs umożliwia składnikom Concord porównanie dwóch wartości obiektów ICorDebugHandleValue przez kierowanie wywołań do getValue za pośrednictwem podkładki EE w celu skonfigurowania odpowiedniego obiektu LocalContext. Wywołanie metody GetValue bezpośrednio w obiekcie ICorDebugHandleValue z pliku Concord spowoduje zgłoszenie wyjątku z hosta VIL. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmRuntimeInstanceLoadCompleteNotification |
IDkmRuntimeInstanceLoadCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeInstanceLoadComplete. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Element RuntimeInstanceLoadComplete jest wysyłany przez podstawowy monitor debugowania podczas uruchamiania lub dołączania do procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2). |
IDkmRuntimeInstanceLoadNotification |
IDkmRuntimeInstanceLoadNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeInstanceLoad. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. RuntimeInstanceLoad jest wyzwalany po utworzeniu obiektu DkmRuntimeInstance. To zdarzenie może służyć do wykrywania, że określony typ kodu (np. natywny) jest teraz debugowany w tym procesie docelowym. W scenariuszach uruchamiania zdarzenie RuntimeInstanceLoad zostanie wyzwolone przed uruchomieniem dowolnego kodu określonego typu w procesie docelowym. Podczas debugowania kodu natywnego obejmuje to cały kod w procesie docelowym. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmRuntimeInstanceUnloadNotification |
IDkmRuntimeInstanceUnloadNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia RuntimeInstanceUnload. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. RuntimeInstanceUnload jest wyzwalany, gdy środowisko wykonawcze zwalnia się z procesu docelowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmRuntimeManagedHardwareDataBreakpointInfoProvider |
Udostępnia wartości CLR dla zarządzanych bps danych sprzętowych. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM). |
IDkmRuntimeMonitorBreakpointHandler |
Udostępnia usługi umożliwiające ustawianie i usuwanie punktów przerwania. Ten interfejs jest implementowany przez monitor debugowania dla większości środowisk uruchomieniowych. Implementacja musi używać elementu danych do śledzenia okresu istnienia każdego włączonego punktu DkmRuntimeBreakpoint, aby można było niejawnie wyłączyć punkt przerwania po zamknięciu punktu przerwania DkmRuntimeBreakpoint. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmRuntimeSetNextStatement |
IDkmRuntimeSetNextStatement to monitory środowiska uruchomieniowego interfejsu implementowane w celu obsługi zestawu następnej instrukcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmRuntimeStepper |
IDkmRuntimeStepper to monitory środowiska uruchomieniowego interfejsu implementowane w celu obsługi kroków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmScriptDocumentContentInsertNotification |
IDkmScriptDocumentContentInsertNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ScriptDocumentContentInsert. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Powiadomienie o dodaniu nowej zawartości do procesu docelowego. W przypadku dokumentów agregowanych (DkmScriptDocumentFlags.AggregateDocument jest ustawiona), jest to nowa sekcja dokumentu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentContentRemoveNotification |
IDkmScriptDocumentContentRemoveNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ScriptDocumentContentRemove. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Powiadomienie, że zawartość została usunięta z procesu docelowego. W przypadku dokumentów agregowanych (DkmScriptDocumentFlags.AggregateDocument jest ustawiona), odpowiada to usuniętej sekcji tekstowej. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentProvider |
Zaimplementowane przez składniki, które tworzą obiekty DkmScriptDocument w celu udostępnienia zawartości i powiadomień dokumentu po zmianie zawartości. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentQuery |
Interfejs API zaimplementowany przez agenta lokalnego skryptu w celu dopasowania dokumentów skryptów do żądań punktów przerwania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentSourceProjectItemChanged |
Interfejs służą do aktualizowania składników, gdy ścieżka elementu projektu jest ustawiona dla dokumentu skryptu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentSymbolProvider |
Zaimplementowane przez składniki, które tworzą obiekty DkmScriptDocument i używają ich jako podstawy rozpoznawania symboli. Ten interfejs nie musi być implementowany przez system dokumentów skryptu, który pozostawia DkmResolvedDocument.ScriptDocument jako null. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. |
IDkmScriptDocumentTreeNodeCreateNotification |
Element IDkmScriptDocumentTreeNodeCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ScriptDocumentTreeNodeCreate. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Powiadomienie o utworzeniu nowego obiektu DkmScriptDocumentTreeNode. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmScriptDocumentTreeNodeUnloadNotification |
IDkmScriptDocumentTreeNodeUnloadNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ScriptDocumentTreeNodeUnload. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Powiadomienie o tym, że element DkmScriptDocumentTreeNode został zwolniony z procesu docelowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId. |
IDkmScriptJmcStateChangeNotification |
IDkmScriptJmcStateChangeNotification jest implementowany przez składniki, które mają być powiadamiane, gdy stan JMC zmieni się dla dokumentu skryptu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmScriptSymbolCallback |
Interfejs wywołania zwrotnego zaimplementowany przez dostawców symboli skryptu w celu obsługi dostosowywania kroków dla języków skompilowanych w języku JavaScript (lub ewentualnie innych językach skryptów). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: RuntimeId, SymbolProviderId. |
IDkmScriptSymbolsUpdatedNotification |
IDkmScriptSymbolsUpdatedNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ScriptSymbolsUpdated. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Powiadomienie, że stan symbolu dla co najmniej jednego dokumentu skryptu został zaktualizowany. Służy to do ponownego powiązania punktów przerwania w modułach opartych na skryptach. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmSerializedProcessInfoProvider |
Interfejs zaimplementowany przez podstawowe monitory debugowania, które obsługują format zrzutu procesu. Obecnie zaimplementowane przez maszynę BDM z zrzutu podstawowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8). |
IDkmSerializedProcessInfoProviderFactory |
Interfejs fabryczny umożliwiający uzyskanie wystąpienia IDkmSerializedProcessInfoProvider. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8). |
IDkmSetNextStatementQuery |
Umożliwia interfejsowi użytkownika wykonywanie zapytań, jeśli można ustawić bieżącą instrukcję na adres. Należy zaimplementować po stronie klienta, ponieważ może być wywoływana w scenariuszach wymagających szybkiego wyniku, takiego jak przeciąganie adresu IP w edytorze debugera. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmSingleStepCompleteNotification |
IDkmSingleStepCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia SingleStepComplete. IDkmSingleStepCompleteNotification jest wywoływana po wszystkich implementacjach IDkmSingleStepCompleteReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysyłane po zakończeniu pojedynczego kroku wątku. Zdarzenia SingleStepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmSingleStepCompleteReceived |
IDkmSingleStepCompleteReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia SingleStepComplete. IDkmSingleStepCompleteReceived jest wywoływany przed IDkmSingleStepCompleteNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysyłane po zakończeniu pojedynczego kroku wątku. Zdarzenia SingleStepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SourceId. |
IDkmSourceLinkQuery |
Ten interfejs API służy do odczytywania Source Link informacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 RTM (DkmApiVersion.VS15RTM). |
IDkmSourceLinkSymbolQuery |
Ten interfejs API służy do odczytywania informacji o konfiguracji Source Link od dostawcy symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
IDkmSourceServerSymbolQuery |
Ten interfejs API służy do odczytywania informacji o danych serwera źródłowego od dostawcy symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. |
IDkmStackProvider |
Udostępnia stos do wyświetlania przez użytkownika. Ten stos został przefiltrowany, anotowany i mieszany razem. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmStackWalkFrameAnnotationTextProvider |
Zawiera tekst prefiksu adnotacji ramki stosu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmStackWalkFrameInterfaceProvider |
Ten interfejs jest implementowany przez składniki, które współtworzyją ramki stosu i chcą zapewnić dodatkowy interfejs inspekcji dla ewaluatorów wyrażeń i innych składników, które muszą sprawdzić ramkę stosu. UWAGA: interfejs API kontenera danych nie powinien być używany z implementacji zwróconego interfejsu niestandardowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmStackWalkFrameInterfaceProvider2 |
Ten interfejs jest implementowany przez zarządzany monitor debugowania i zapewnia dostęp do elementu ICorDebugFrame. UWAGA: interfejs API kontenera danych nie powinien być używany z implementacji zwróconego interfejsu niestandardowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmStartDebuggingOperations |
Ten interfejs zawiera interfejs API umożliwiający uruchomienie nowego procesu w debugerze lub dołączenie debugera do istniejącego procesu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmStepCompleteNotification |
IDkmStepCompleteNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia StepComplete. IDkmStepCompleteNotification jest wywoływana po wszystkich implementacjach elementu IDkmStepCompleteReceived. Po wywołaniu tego powiadomienia proces docelowy jest zatrzymany, a implementatory mogą przeprowadzić inspekcję procesu lub spowodować jego wykonanie w kontrolowany sposób (slip, func-eval). Wysyłane przez monitor środowiska uruchomieniowego po pomyślnym ukończeniu kroku. Należy pamiętać, że krok może rzeczywiście zakończyć się w innym wątku niż został uruchomiony. Zdarzenia StepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmStepCompleteReceived |
IDkmStepCompleteReceived jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia StepComplete. IDkmStepCompleteReceived jest wywoływany przed IDkmStepCompleteNotification. W ramach tego powiadomienia nie można spowodować wykonania procesu docelowego (bez func-eval, bez poślizgu). Wysyłane przez monitor środowiska uruchomieniowego po pomyślnym ukończeniu kroku. Należy pamiętać, że krok może rzeczywiście zakończyć się w innym wątku niż został uruchomiony. Zdarzenia StepComplete można pominąć przez wywołanie DkmEventDescriptorS.Suppress(). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmStepOverPropertiesAndOperatorsEnableNotification |
Interfejs aktualizowania składników, gdy właściwość "IsStepOverPropertiesAndOperatorsEnabled" jest włączona lub wyłączona. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmSteppingCodePathProvider |
Używany przez usługę AD7 do uzyskiwania szczegółowych opcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, RuntimeId, SymbolProviderId. |
IDkmSteppingManager |
Interfejs menedżera kroków. Ten składnik jest implementowany przez firmę Microsoft i zapewnia arbitraż między różnymi monitorami debugowania aktywnymi w procesie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmSteppingManagerCallback |
Umożliwia monitorowanie środowiska uruchomieniowego uzyskiwanie informacji z menedżera kroków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. |
IDkmSteppingManagerCallback11a |
Rozszerzenie monitorów środowiska uruchomieniowego informacji może uzyskać od menedżera kroków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1). |
IDkmSteppingManagerCallback169 |
Rozszerzenie monitorów środowiska uruchomieniowego informacji może uzyskać od menedżera kroków. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SourceId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9). |
IDkmStopDebuggingOperations |
Ten interfejs zawiera interfejs API do zatrzymywania debugowania. Ten interfejs musi być zaimplementowany przez podstawowe monitory debugowania. Istnieje również możliwość zaimplementowania tego interfejsu w celu dostosowania środowiska zatrzymywania debugowania dla określonej aplikacji. Na przykład składnik może ponownie zaimplementować zakończenie, aby debuger mógł bezpiecznie zamknąć aplikację zamiast interfejsu API TerminateProcess Win32. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmStowedExceptionProvider |
Interfejs zaimplementowany przez minidump BDM w celu wykonywania zapytań dotyczących informacji o wyjątku stowed. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3). |
IDkmSuppressOptimizationsEnableNotification |
Interfejs aktualizowania składników, gdy opcja "IsSuppressOptimizationsEnabled" jest włączona lub wyłączona. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmSymbolAlternateSourcePositionQuery |
Opcjonalny interfejs implementowany przez dostawców symboli, którzy chcą udostępnić wiele mapowań źródłowych dla tego samego symbolu instrukcji — zarówno mapowanie podstawowe, jak i mapowanie kopii zapasowej w przypadku, gdy nie można odnaleźć dokumentu podstawowego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3). |
IDkmSymbolCompilerIdQuery |
Ten interfejs API służy do pobierania identyfikatora kompilatora dla danego symbolu. Jest on implementowany przez dostawców symboli, którzy obsługują magazyny symboli, w których plik binarny może zawierać wiele języków. Innymi słowy, ten interfejs musi być zaimplementowany tylko wtedy, gdy DkmModule.CompilerId jest guid.Empty/Guid.Empty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. |
IDkmSymbolCompilerIdQueryCallback |
Ten interfejs API służy do pobierania identyfikatora kompilatora dla danego symbolu. Jest on implementowany przez dostawców symboli, którzy obsługują magazyny symboli, w których plik binarny może zawierać wiele języków. Innymi słowy, ten interfejs musi być zaimplementowany tylko wtedy, gdy DkmModule.CompilerId jest guid.Empty/Guid.Empty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. |
IDkmSymbolDisassemblyQuery |
Ten interfejs API służy do rozpoznawania symboli w oknie dezasemblacji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. |
IDkmSymbolDocumentCollectionQuery |
Interfejs API zaimplementowany przez dostawców symboli, aby umożliwić menedżerowi punktów przerwania i innym składnikom wykonywanie zapytań dotyczących kolekcji dokumentów wewnątrz magazynu symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. |
IDkmSymbolDocumentSpanQuery |
Interfejs API zaimplementowany przez dostawców symboli, aby umożliwić menedżerowi punktów przerwania i innym składnikom wykonywanie zapytań o mapę "symbol span-symbol> tekstu dokumentu", która znajduje się wewnątrz magazynu symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmSymbolFileBytesQuery |
Ten interfejs API służy do pobierania nieprzetworzonych bajtów pliku symboli po stronie zdalnej. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 Update 3 Micro Update (DkmApiVersion.VS14Update3MicroUpdate). |
IDkmSymbolFunctionResolver |
Ten interfejs jest implementowany przez ewaluatory wyrażeń opartych na symbolach w celu mapowania między wyrażeniem funkcji/adresu i instrukcjami, które są reprezentowane przez nią. Służy to do wiązania punktów przerwania funkcji. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SymbolProviderId. |
IDkmSymbolHiddenAttributeQuery |
Ten interfejs API służy do odczytywania informacji o symbolu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. |
IDkmSymbolLocator |
Interfejs implementowany przez dostawców symboli, którzy zajmują się wyszukiwaniem symboli. Innymi słowy, ten interfejs nie byłby implementowany przez dostawców symboli, którzy zajmują się tylko formatami symboli, które znajdują się wewnątrz debugowanego pliku binarnego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId, TransportKind. |
IDkmSymbolLocator174 |
Interfejs implementowany przez dostawców symboli, którzy zajmują się wyszukiwaniem symboli. Innymi słowy, ten interfejs nie byłby implementowany przez dostawców symboli, którzy zajmują się tylko formatami symboli, które znajdują się wewnątrz debugowanego pliku binarnego. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4). |
IDkmSymbolLocatorCallback170 |
Udostępnia wywołania zwrotne do lokalizatora symboli po stronie serwera. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
IDkmSymbolLocatorCallback177 |
Udostępnia wywołania zwrotne do lokalizatora symboli po stronie serwera. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
IDkmSymbolMemoryReader |
Interfejs implementowany przez podstawowe monitory debugowania, które odczytują symbole z pamięci debuggee w czasie wykonywania. Ten interfejs zostanie zaimplementowany przez podstawowe monitory debugowania w celu obsługi formatów symboli, które są generowane lub ładowane w czasie wykonywania w pamięci debuggee. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. |
IDkmSymbolPathChangeNotification |
Interfejs do aktualizowania składników po zmianie ustawień symboli. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. |
IDkmSymbolProviderCallback |
Interfejs wywołania zwrotnego implementowany przez dostawców symboli w celu dostarczania informacji z magazynu symboli do monitorów debugowania. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmSymbolQuery |
Ten interfejs API służy do odczytywania informacji o symbolu. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: SymbolProviderId. |
IDkmSymbolQueryCallback |
Umożliwia składnikom zdalnym uzyskiwanie informacji o położeniu źródła, gdy dostawca symboli znajduje się na maszynie programu VS. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Można użyć następujących właściwości: RuntimeId, SymbolProviderId. |
IDkmSymbolStackWalk |
Zapewnia mechanizm chodzenia ramek stosu natywnego przy użyciu informacji z plików symboli. Ten mechanizm służy do chodzenia wszelkich ramek stosu, których nie można rozpoznać na komputerze docelowym. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, SymbolProviderId. |
IDkmTaskProvider |
Interfejs implementowany przez składnik dostawcy zadań w celu uzyskania informacji o zadaniach. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TaskProviderId. |
IDkmTaskProvider165 |
Interfejs implementowany przez składnik dostawcy zadań w celu uzyskania informacji o zadaniach asynchronicznie. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: EngineId, RuntimeId, SourceId, TaskProviderId. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
IDkmTaskProviderCreateNotification |
IDkmTaskProviderCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia TaskProviderUtwórz zdarzenie. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Wskazuje, że obiekt dostawcy zadań został utworzony. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TaskProviderId. |
IDkmTaskProviderInitialize |
Opcjonalny interfejs implementowany przez dostawców zadań w celu otrzymywania powiadomienia, gdy dostawcy zadań są najpierw proszeni o określony proces. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmTaskSynchronizationObjectProvider |
Interfejs implementowany przez składniki dostawcy zadań w celu zapewnienia zestawu obiektów synchronizacji należących do zadania. Ten interfejs może ulec zmianie w przyszłych wersjach programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TaskProviderId. |
IDkmTerminalLauncher |
Interfejs wywołania zwrotnego, który służy do uruchamiania nowego terminalu (konsoli), do którego zostanie uruchomiony proces docelowy. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składników. Mogą być używane następujące właściwości: TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9). |
IDkmThreadContextOperation |
Operacje udostępniane przez podstawowy monitor debugowania w celu uzyskania i zaktualizowania kontekstu wątku (wartości rejestru). Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmThreadCreateNotification |
IDkmThreadCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ThreadCreate. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. ThreadCreate jest wyzwalany po uruchomieniu nowego wątku w procesie docelowym. WątkuTworzenie zdarzeń można pominąć. W takim przypadku wątek będzie niewidoczny dla składników powyżej poziomu, na którym wątk został pominięty. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmThreadCurrentWinRtExceptionQuery |
Ten interfejs jest implementowany przez monitory debugowania środowiska uruchomieniowego w celu zwrócenia najnowszych informacji o wyjątku WinRT w danym wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmThreadDisplayPropertiesQuery |
Służy do określania kategorii wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmThreadExitNotification |
IDkmThreadExitNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ThreadExit. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Element ThreadExit jest wyzwalany, gdy wątek w procesie docelowym kończy działanie. Nie zostanie wyzwolony, jeśli proces docelowy zakończy się, gdy wątek jest nadal uruchomiony. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmThreadLocationProvider |
Udostępnia lokalizację wątku, jak widać w oknie wątków lub na liście rozwijanej wątków na pasku narzędzi lokalizacji debugowania. Jest to implementowane przez składnik dostawcy stosu firmy Microsoft. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmThreadNameChangeNotification |
IDkmThreadNameChangeNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia ThreadNameChange. Gdy to powiadomienie zostanie wyzwolone, proces docelowy zostanie zawieszony i można go zbadać. Funkcja ThreadNameChange jest uruchamiana po zmianie nazwy wątku w procesie docelowym. Obecnie jest to uruchamiane tylko wtedy, gdy zarządzany wątek zmienia nazwę. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmThreadNameQuery |
Służy do określania nazwy wątku. Nie zwraca nazwy wyświetlanej wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind. |
IDkmThreadStackRangeProvider |
Zwraca bazę stosu i limit wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmThreadSuspension |
Wywoływane w celu wstrzymania lub wznowienia wątku oraz uzyskania bieżącej liczby zawieszenia wątku. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmTimeTravellingMonitor |
Ten interfejs jest implementowany przez monitory debugowania, które umożliwiają podróżowanie w czasie. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). |
IDkmTlsReadWrite |
Zapewnia możliwość odczytu i zapisu z miejsc protokołu TLS Win32 w procesie docelowym. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmTraceSettingsNotification |
Interfejs służą do aktualizowania składników po zmianie ustawień śledzenia. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId. Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
IDkmUserCodeDeterminer |
Określa, czy ramka jest użytkownikiem lub nieużytkownikiem, gdy taka determinacja nie została wykonana podczas tworzenia ramki. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmVirtualMemoryAllocator |
Zaimplementowane przez podstawowe monitory debugowania, aby umożliwić alokację/wolne od pamięci wirtualnej w procesie docelowym. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmVirtualThreadCreateNotification |
Element IDkmVirtualThreadCreateNotification jest implementowany przez składniki, które chcą nasłuchiwać zdarzenia VirtualThreadCreate. Proces docelowy może być nadal uruchamiany podczas tego powiadomienia. Po wywołaniu elementu VirtualThreadCreate jest uruchamiane zdarzenie z powiadomieniem odbiorników o utworzeniu nowego elementu DkmVirtualThread. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 6 (DkmApiVersion.VS16Update6). |
IDkmVisualizationDataCompiler |
Opcjonalny interfejs do kompilowania danych wizualizacji obiektu z formularza czytelnego dla człowieka do obiektu DkmCompiledVisualizationData. Obecnie ten interfejs jest implementowany tylko przez język C++. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: CompilerVendorId, LanguageId. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmVisualStudioServices |
Interfejs zaimplementowany przez usługę AD7AL jako bramę do usług udostępnianych przez resztę programu Visual Studio. Implementacje tego interfejsu są zawsze wywoływane (nie jest obsługiwane filtrowanie). Aby zmniejszyć wpływ pamięci, zaleca się zaimplementowanie tego interfejsu w małej biblioteki DLL lub skonfigurowanie implementacji za pomocą polecenia "CallOnlyWhenLoaded="true". |
IDkmVisualStudioServices120 |
Interfejs zaimplementowany przez usługę AD7AL jako bramę do usług udostępnianych przez resztę programu Visual Studio. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IDkmVolatileMemoryOperation |
Zapewnia obsługę odczytu i zapisu pamięci. W przeciwieństwie do elementu IDkmMemoryOperation, ten interfejs może być używany podczas uruchamiania procesu i nigdy nie buforuje wyników, więc należy go używać z ostrożnością. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |
IDkmVolatileThreadProperties |
Uwidacznia nietrwałe właściwości wątku, takie jak maska priorytetu i koligacji. Oczekuje się, że te wartości zmienią się w czasie i nie powinny być buforowane przez osoby wywołujące. Implementacje tego interfejsu mogą ograniczać, gdy są wywoływane przy użyciu filtru zdefiniowanego w konfiguracji składnika. Mogą być używane następujące właściwości: BaseDebugMonitorId, EngineId, TransportKind. |