Condividi tramite


Microsoft.VisualStudio.Debugger Spazio dei nomi

Classi

DkmBaseDebugMonitorId

DkmBaseDebugMonitorId identifica il monitoraggio di debug di base usato per controllare e controllare il processo di debug. Ad esempio, DkmBaseDebugMonitorId.WindowsProcess viene usato per i processi di debug dall'API di debug Win32 e DkmBaseDebugMonitorId.DumpFile viene usato per minidumps.

DkmComponentManager

Fornisce servizi dal dispatcher per inizializzare i thread.

DkmCustomMessage

Struttura dei messaggi usata per passare informazioni tra componenti back-end del debugger personalizzati e componenti dell'interfaccia utente di Visual Studio personalizzati (pacchetti, componenti aggiuntivi e così via).

DkmDataContainer

DkmDataContainer è un blocco predefinito usato in tutta questa API. Consente a molti degli oggetti in questa API di contenere "campi virtuali" aggiunti da qualsiasi componente nel sistema. È simile a una versione sicura di tipo del concetto di 'expando' in JScript.

Regole per DkmDataContainer:

  1. Tutti gli oggetti 'reference' nel sistema ereditano da DkmDataContainer. Gli oggetti di riferimento vengono rilevati dal componente dispatcher di questo sistema e in vari punti di marshalling (gestiti>, nativi>, nativi, remoting) l'identità di riferimento dell'oggetto viene mantenuta. Gli oggetti 'Value' non ereditano da DkmDataContainer perché il sistema non tiene traccia di questi oggetti, quindi in qualsiasi transizione di marshalling il valore dell'oggetto viene copiato.
  2. I "campi virtuali" di questi oggetti che ereditano da DkmDataContainer sono denominati elementi di dati.
  3. Gli elementi di dati sono PRIVATI per il componente che li ha aggiunti. Questa funzionalità non può essere usata per condividere i campi tra i limiti dei componenti.
  4. Gli elementi di dati sono istanze di una classe di elementi di dati. Nel codice gestito le classi dell'elemento di dati ereditano da DkmDataItem per identificarle come elemento di dati. Nel codice nativo gli elementi di dati ereditano da IUnknown.
  5. In genere, un componente non deve mai rimuovere un elemento dati. Ciò avviee perché gli elementi dati vengono rimossi automaticamente quando l'oggetto contenitore viene chiuso.
DkmDataItem

'DkmDataItem' è la classe di base per tutte le classi dell'elemento di dati. Per altre informazioni, vedere 'DkmDataContainer'.

DkmDiagnosticsLog

Classe statica che definisce i metodi per accedere al log di diagnostica del dispatcher

DkmDotnetVisualizerExtensionInfo

Contiene informazioni su un'estensione del visualizzatore del debugger che può essere visualizzata per un risultato di valutazione.

Questa API è stata introdotta in Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6).

DkmEngineId

Si tratta dei valori GUID del motore "standard". Si prevede che questo elenco crescerà nel tempo, quindi, se possibile, è consigliabile eseguire una query per un'impostazione anziché confrontare l'oggetto EngineId.

DkmEngineSettings

Contiene le impostazioni di debug a livello di sessione. Esiste un'istanza di questo oggetto per motore Guid (ad esempio: un'istanza per COMPlusOnlyEng2, un'istanza per COMPlusNativeEng).

DkmEventDescriptor

Descrive l'evento da elaborare.

DkmEventDescriptorS

Descrive l'evento elaborato e offre la possibilità a un componente di eliminare questo evento.

DkmException

Classe di eccezione di base per tutte le eccezioni all'interno di questa API.

DkmGlobalSettings

Classe statica contenente le impostazioni globali per il processo del debugger

DkmInstructionAddress

Rappresentazione astratta di un percorso di codice eseguibile (ad esempio: valore EIP). Se risolto, un indirizzo istruzione si troverà all'interno di un'istanza del modulo specifica. Un indirizzo istruzione è sempre all'interno di un'istanza di runtime specifica.

Classi derivate: DkmClrInstructionAddress, DkmClrNcInstructionAddress, DkmCustomInstructionAddress, DkmNativeInstructionAddress, DkmScriptInstructionAddress, DkmUnknownInstructionAddress

DkmInstructionAddress.CPUInstruction

CPUInstruction fornisce l'indirizzo che verrà eseguito dalla CPU. Viene sempre fornito per istruzioni native. Può essere fornito per CLR o indirizzi personalizzati a seconda del modo in cui è stato creato l'oggetto indirizzo.

DkmLanguageRegistrySetting

Associazione tra il nome di un'impostazione e il relativo valore.

DkmModuleInstance

La classe Module Instance rappresenta un bundle di codice (ad esempio dll o exe) caricato in un determinato processo in una determinata posizione. Gli oggetti Istanza del modulo sono 1:1 con la nozione dell'ambiente di esecuzione di un bundle di codice. Ad esempio, nel codice nativo, gli oggetti Istanza del modulo sono 1:1 con indirizzo di base.

Classi derivate: DkmClrModuleInstance, DkmClrNcModuleInstance, DkmCustomModuleInstance, DkmNativeModuleInstance, DkmClrNcContainerModuleInstance

DkmModuleInstance.MinidumpInfo

'MinidumpInfo' viene usato per trasmettere informazioni aggiuntive sui moduli in un DkmProcess per un minidump.

DkmModuleVersion

Informazioni sulla versione file.

DkmNativeEESettings

Contiene le impostazioni di configurazione per l'analizzatore di espressioni native.

Questa API è stata introdotta in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7).

DkmPerformanceCounters

Raccolta dei contatori di esecuzione del processo.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

DkmProcess

DkmProcess rappresenta un processo di destinazione in fase di debug. Il debugger esegue il debug dei processi, quindi questa è l'unità di base del debug. Un DkmProcess può rappresentare un processo di sistema o un processo virtuale, ad esempio minidump.

DkmProcess.Live

Informazioni rilevanti per un processo in esecuzione. Ad esempio, questa parte non sarà presente per minidumps.

DkmProcessExecutionCounters

Archivia un timestamp QPC per un evento di arresto/ripresa del processo.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

DkmProcessSnapshot

DkmProcessSnapshot rappresenta uno snapshot acquisito su un processo in esecuzione.

Questa API è stata introdotta in Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

DkmReadOnlyByteCollection

Implementazione di ReadOnlyCollection che può fornire un puntatore alla memoria nativa sottostante. Attualmente questa classe viene usata solo per ReadOnlyCollections che archivia byte quando il valore viene passato tramite una chiamata API Concord.

DkmRegistryTweak

Coppia chiave/valore letta dal Registro di sistema.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

DkmRuntimeId

L'ID runtime identifica l'ambiente di esecuzione per una determinata parte di codice. Gli ID di runtime vengono usati dal dispatcher per decidere a quale monitoraggio inviare. Si noti che l'ordinamento dei GUID dell'ID di runtime è un po' significativo, in quanto determina quale runtime ottiene il primo colpo durante l'arbitrato. Pertanto, se si vuole dichiarare una nuova istanza di runtime basata su CLR, l'ID di runtime deve essere minore di DkmRuntimeId.Clr.

DkmRuntimeInstance

La classe DkmRuntimeInstance rappresenta un ambiente di esecuzione caricato in un DkmProcess e che contiene il codice da eseguire per il debug.

Classi derivate: DkmClrRuntimeInstance, DkmClrNcRuntimeInstance, DkmCustomRuntimeInstance, DkmNativeRuntimeInstance, DkmScriptRuntimeInstance, DkmNativeDwarfRuntimeInstance, DkmOpenEnclaveRuntimeInstance

DkmSourceId

Identifica l'origine di un oggetto . SourceIds viene usato per abilitare il filtro negli scenari in cui più componenti possono creare istanze di una classe. Ad esempio, gli ID di origine possono essere usati per determinare se un punto di interruzione proviene da AD7 AL (ad esempio: punto di interruzione utente o altro punto di interruzione visibile a livello di SDM) anziché da un punto di interruzione che può essere creato da un altro componente (ad esempio un punto di interruzione interno usato per l'esecuzione di istruzioni).

DkmThread

DkmThread rappresenta un thread in esecuzione nel processo di destinazione.

Classi derivate: DkmGPUComputeThread, DkmVirtualThread

DkmThread.System

Descrive i tratti del thread rilevanti per un thread Win32 completo. Attualmente, questo valore è obbligatorio e tutti i thread avranno un blocco "System". In futuro, questo valore può essere NULL se DkmThread rappresenta un valore diverso da un thread Win32 completo.

DkmTraceTimeContext

Punto di tempo all'interno di una traccia di viaggio temporale. La rappresentazione interna è un dettaglio di implementazione dell'autore.

Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DkmUnknownInstructionAddress

Rappresenta un indirizzo che non è stato possibile risolvere in un modulo.

DkmUserMessage

Contiene informazioni su un messaggio da visualizzare all'utente.

DkmVirtualThread

DkmVirtualThread rappresenta un thread che non esiste fisicamente nel processo sottoposto a debug.

Questa API è stata introdotta in Visual Studio 16 Update 2 (DkmApiVersion.VS16Update2).

DkmWaitUIOperation

Rappresenta un'operazione che si verifica nel back-end del debugger e che può essere lenta, pertanto l'utente deve essere informato se richiede più tempo il ritardo specificato.

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmWorkList

Raccolta di elementi di lavoro asincroni elaborati insieme. Gli elementi di lavoro vengono aggiunti chiamando uno dei metodi asincroni in questa API. Gli elementi di lavoro possono essere aggiunti liberamente fino a quando l'elenco di lavoro non inizia l'esecuzione. Dopo l'avvio dell'esecuzione, è possibile aggiungere ulteriori operazioni solo dall'implementazione di un'interfaccia di elaborazione degli elementi di lavoro o da una routine di completamento.

Struct

DkmDisplayUserMessagePromptAsyncResult

Risultato di una chiamata DkmUserMessage.DisplayPrompt asincrona.

DkmGetCurrentCPUAddressAsyncResult

Risultato di una chiamata DkmInstructionAddress.GetCurrentCPUAddress asincrona.

DkmGetInstructionAddressAsyncResult

Risultato di una chiamata DkmProcess.GetInstructionAddress asincrona.

DkmGetRelativeInstructionAddressAsyncResult

Risultato di una chiamata DkmProcess.GetInstructionAddress asincrona.

DkmGetSymbolSearchResultAsyncResult

Risultato di una chiamata DkmModuleInstance.GetSymbolSearchResult asincrona.

DkmModuleInstanceIsUserCodeAsyncResult

Risultato di una chiamata DkmModuleInstance.IsUserCode asincrona.

DkmPerformanceCountersAsyncResult

Risultato di una chiamata DkmProcess.QueryPerformanceCounters asincrona.

DkmResolveCPUInstructionAddressAsyncResult

Risultato di una chiamata asincrona DkmRuntimeInstance.ResolveCPUInstructionAddress.

DkmRuntimeInstanceId

Identifica un oggetto DkmRuntimeInstance all'interno di un processo.

DkmSendLowerAsyncResult

Risultato di una chiamata asincrona DkmCustomMessage.SendLower.

DkmTryLoadBinaryAsyncResult

Risultato di una chiamata asincrona DkmModuleInstance.TryLoadBinary.

DkmXmm128

DkmXmm128 rappresenta il contenuto di un registro XMM a 128 bit nei sistemi x64

Enumerazioni

DkmApiVersion

Codice di enumerazione delle varie versioni di questa API.

DkmAsyncBreakStatus

Indica il tipo di interruzione asincrona che si è verificata.

DkmClientUI

Specifica il tipo di Interfaccia utente che guida un'istanza del motore.

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmDataCreationDisposition

Azione da eseguire se l'elemento di dati è già presente nel contenitore.

DkmDecompilerMode

Modalità in cui un modulo può essere decompilato.

Questa API è stata introdotta in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7).

DkmDispatcherObjectFlags

Flag interni che indicano lo stato corrente di un oggetto dispatcher.

DkmDotnetVisualizerExtensionStyle

Indica la modalità di visualizzazione di un visualizzatore quando si apre.

Questa API è stata introdotta in Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8).

DkmDumpType

Tipo di dump da salvare.

DkmEngineFlags

Flag che indicano tratti non modificabili di queste impostazioni del motore.

DkmEventCode

Enumerazione di tutti gli eventi attualmente definiti in questa API.

DkmExceptionCode

Definisce i codici HRESULT usati da questa API.

DkmFuncEvalAbortLoggingFlags

Flag per indicare il tipo di registrazione da eseguire su un'interruzione func eval.

Questa API è stata introdotta in Visual Studio 15 Update 4 (DkmApiVersion.VS15Update4).

DkmFuncEvalMode

Indica se si verifica una valutazione della funzione nel processo di destinazione e se gli eventi di arresto sono consentiti per questa valutazione.

DkmInstructionAddress.Tag

DkmInstructionAddress è una classe base astratta. Questa enumerazione indica la classe derivata di questo oggetto è un'istanza di .

DkmLogLevel

Specifica la verbosità di un messaggio di registrazione aggiunto al log di diagnostica (DkmDiagnosticsLog). Per consentire di controllare in modo banale se è abilitato un determinato livello di log, questo viene dichiarato come enumerazione flag, ma con poche eccezioni se presenti, i messaggi devono impostare un singolo flag.

Questa API è stata introdotta in Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8).

DkmMemoryTimeFlags

Enumerazione che descrive il tempo risolto da una memoria in lettura rispetto all'ora di elaborazione corrente.

Questa API è stata introdotta in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

DkmModuleFlags

Flag che indicano tratti di un DkmModuleInstance.

DkmModuleInstance.Tag

DkmModuleInstance è una classe base astratta. Questa enumerazione indica la classe derivata di questo oggetto è un'istanza di .

DkmModuleMemoryLayout

Enumerazione che indica come viene disposto un modulo in memoria.

DkmProcessExecuteDirection

Indica la direzione in cui viene eseguito il processo.

Questa API è stata introdotta in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

DkmProcessorArchitecture
DkmReadMemoryFlags

Contrassegna il comportamento di DkmProcess.ReadMemory e DkmProcess.ReadMemoryString.

DkmRuntimeCapabilities

Enumerazione delle funzionalità di runtime.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

DkmRuntimeInstance.Tag

DkmRuntimeInstance è una classe base astratta. Questa enumerazione indica quale classe derivata di questo oggetto è un'istanza di .

DkmStoppingEventProcessingNextAction

Codice di stato restituito al monitoraggio di debug di base per indicare l'azione successiva da eseguire per arrestare l'elaborazione degli eventi.

DkmUserMessageOutputKind

Indica dove deve essere restituito un oggetto DkmUserMessage nell'IDE del debugger.

DkmWaitUIOperationFlags

Flag per un oggetto DkmWaitUIOperation.

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmWorkListExecutionThread

Argomento di DkmWorkList.BeginExecution per indicare dove devono essere eseguiti gli elementi di lavoro nell'elenco di lavoro.

DkmWorkListPriority

Classe Priority di elenchi di lavoro da High a Idle. @Note: deve essere mantenuto sincronizzato con la definizione gestita.

ExceptionConditionCallStackBehavior
ExceptionConditionOperator
ExceptionConditionType
GCReferenceType
MessageBoxFlags
MinidumpFlags

Delegati

DkmCompletionRoutine<TResult>

Funzione che viene attivata quando viene completata una richiesta asincrona.

DkmWorkListCompletionRoutine

Funzione facoltativa che viene attivata al termine dell'elenco di lavoro, inclusa la generazione di tutte le routine di completamento.

DkmWorkListProgressRoutine

Funzione facoltativa che viene attivata quando viene aggiornato lo stato dell'elenco di lavoro.