DkmProcess Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dkmprocess stellt einen Ziel Prozess dar, der debuggt wird. Der Debugger debuggt die Prozesse, sodass dies die grundlegende debugeinheit ist. Ein dkmprocess kann einen System Prozess oder einen virtuellen Prozess, z. b. Minidumps, darstellen.
public ref class DkmProcess : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("a6eaf62b-6db1-4f38-6359-46e9262d7a0a")]
public class DkmProcess : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("a6eaf62b-6db1-4f38-6359-46e9262d7a0a")>]
type DkmProcess = class
inherit DkmDataContainer
Public Class DkmProcess
Inherits DkmDataContainer
- Vererbung
- Attribute
Eigenschaften
| BaseDebugMonitorId |
Dkmbasedebugmonitorid identifiziert den grundlegenden Debug-Monitor, der zum Überprüfen und Steuern des debuggten Prozesses verwendet wird. Dkmbasedebugmonitorid. windowsprocess wird z. b. für Prozesse verwendet, die von der Win32-Debug-API debuggt werden, und dkmbasedebugmonitorid. dumpfile wird für Minidumps verwendet. |
| Connection |
Dies stellt eine Verbindung zwischen dem Monitor und der IDE dar. Dabei kann es sich entweder um eine lokale Verbindung handeln, wenn der Monitor in demselben Prozess wie die IDE ausgeführt wird, oder um eine Remote Verbindung. Im Überwachungsprozess gibt es nur eine Verbindung. |
| DebugLaunchSettings |
Einstellungen, die während eines Debugvorgangs starten von einem Projekt System oder einem anderen Aufrufer von launchdebugtargets (oder verschiedenen anderen Start-Debugging-APIs) bereitgestellt werden. |
| EngineSettings |
Enthält die Sitzungs weiten Debugeinstellungen. Es gibt eine Instanz dieses Objekts pro Engine-GUID (z. COMPlusOnlyEng2. eine Instanz für, eine Instanz für complusnativeeng). |
| IsAppPackage |
True, wenn der Prozess zu einem Windows Store-App-Paket oder Windows Phone App-Paket gehört. Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt. |
| IsNativeDebuggingEnabled |
Wenn der Wert true ist, versucht der Debugger, systemeigenen Code zu debuggen. er wird bei nativen Ausnahmen angehalten, Symbole laden, systemeigene Frames in der Aufrufliste anzeigen, Haltepunkte binden und erreichen und systemeigene Threads während des Unterbrechungs Zustands angehalten lassen. |
| IsUnloaded |
Gibt "true" zurück, wenn ein "entladen"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: dkmthread:: entladen wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses Status, ohne Synchronisierung, der Status "zurückgegeben" möglicherweise nicht mehr genau der Anweisung entspricht, nachdem er gelesen wurde. (Geerbt von DkmDataContainer) |
| LivePart |
Optionale Informationen, die für einen laufenden Prozess relevant sind. Dieser Teil ist beispielsweise nicht für Minidumps vorhanden. |
| Path |
Vollständiger Pfad zur ausführbaren ausführbaren Datei des Prozesses. |
| StartMethod |
Startmethod beschreibt, wie das Debuggen des Debuggens dieses Prozesses gestartet wurde. |
| SystemInformation |
Enthält Informationen über das Computersystem, unter dem der Prozess ausgeführt wird. Wenn dieser Prozess unter wow ausgeführt wird (32-Bit-Emulation bei einem 64-Bit-Betriebssystem), werden diese Informationen für das 32-Bit-Subsystem anstelle des 64-Bit-Subsystems verwendet. |
| UniqueId |
GUID, die dieses Prozess Objekt eindeutig identifiziert. Dieser GUID-Wert ist identisch mit der GUID, die auf der SDM-Schicht (IDebugProcess2:: GetProcessID) und auf der Automatisierungsebene verfügbar gemacht wird. |
Methoden
| AbortingFuncEvalExecution(DkmFuncEvalFlags) |
Abortingfuncevalexecution wird beim Abbrechen einer Funktions Auswertung vom Lauf Zeit-Debug-Monitor aufgerufen. "Abortingfuncevalexecution" aktualisiert den internen Zustand des dkmprocess-Objekts, sodass der Stop-Ereignis-Manager zwei Stopp Ereignisse zulässt: der Breakpoint für die Funktions Auswertung oder eine asynchrone Unterbrechung. |
| AddExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmAddExceptionTriggerAsyncResult>) |
Fügt einen Ausnahme Trigger hinzu, damit exceptiontriggerhit-Ereignisse gesendet werden, wenn der Ausnahme Trigger erreicht wurde. Wenn für dieses {SourceID-, dkmexceptiontrigger}-Tupel bereits eine Ausnahme ausgelöst wurde, wird der vorhandene Trigger mit den neuen Einstellungen geändert. Wenn z. b. eine Komponente einen Trigger definiert, der beendet werden soll, wenn eine Zugriffs Verletzungs Ausnahme ausgelöst wird, und später einen Trigger festlegt, der ausgelöst wird, wenn eine Win32-Ausnahme nicht behandelt wird, wird der Zugriffs Verletzungs Trigger entfernt. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. |
| AddExceptionTrigger(Guid, DkmExceptionTrigger) |
Fügt einen Ausnahme Trigger hinzu, damit exceptiontriggerhit-Ereignisse gesendet werden, wenn der Ausnahme Trigger erreicht wurde. Wenn für dieses {SourceID-, dkmexceptiontrigger}-Tupel bereits eine Ausnahme ausgelöst wurde, wird der vorhandene Trigger mit den neuen Einstellungen geändert. Wenn z. b. eine Komponente einen Trigger definiert, der beendet werden soll, wenn eine Zugriffs Verletzungs Ausnahme ausgelöst wird, und später einen Trigger festlegt, der ausgelöst wird, wenn eine Win32-Ausnahme nicht behandelt wird, wird der Zugriffs Verletzungs Trigger entfernt. |
| AllocateVirtualMemory(UInt64, Int32, Int32, Int32) |
Reserviert und/oder führt Commit eines Arbeitsspeicherbereich innerhalb des virtuellen Adressraums des Zielprozesses aus. Die Funktion initialisiert den Speicher, den sie Null zuordnet, es sei denn, MEM_RESET wird verwendet. Weitere Informationen finden Sie in der virtualzugewiesenen Win32-API in MSDN. |
| AsyncBreak(Boolean) |
Diese Methode teilt der Debugger mit, die Ausführung des zu debuggenden Prozesses asynchron zu unterbrechen. Ein asyncbreakcomplete-Ereignis wird gesendet, nachdem der Vorgang beendet wurde. |
| BeforeStopDebugging() |
Ein Handler, der benachrichtigt wird, bevor der Ziel Prozess beendet oder getrennt wird. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt. |
| ClearAllGPUMemoryAccessWarnings() |
Deaktiviert alle Warnungen für den aktiven GPU-Speicherzugriff. |
| ClearExceptionTriggers(Guid) |
Entfernt alle Ausnahme Trigger, die mit einer bestimmten SourceID festgelegt wurden. Nachdem diese Methode zurückgegeben wurde, lösen die Ausnahmen Trigger nicht mehr exceptiontriggerhit-Ereignisse aus. Ausnahme Trigger werden automatisch gelöscht, wenn das dkmprocess-Objekt geschlossen wird. |
| Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, Boolean, DkmProcess+Live, DkmDataItem) |
Erstellt ein neues Prozess Objekt. Diese Methode wird vom grundlegenden Debugmonitor für den Ereignis Thread im Rahmen der Verarbeitung von idkmstartdebuggingoperations. attachtoprocess oder idkmstartdebuggingoperations. resumedebuggedprocess aufgerufen. Diese Methode sendet ein processcreate-Ereignis. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt. |
| Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, DkmProcess+Live, DkmDataItem) |
Erstellt ein neues Prozess Objekt. Diese Methode wird vom grundlegenden Debugmonitor für den Ereignis Thread im Rahmen der Verarbeitung von idkmstartdebuggingoperations. attachtoprocess oder idkmstartdebuggingoperations. resumedebuggedprocess aufgerufen. Diese Methode sendet ein processcreate-Ereignis. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. |
| CreateNativeInstructionAddress(UInt64) |
Löst eine CPU-Anweisung in ein System eigenes Modul auf und gibt eine dkmnativeinstructionaddress zurück, die diese CPU-Anweisung darstellt. Wenn sich der Anweisungs Zeiger nicht in einem Modul befindet, wird stattdessen ein dkmunknowninstructionaddress-Objekt zurückgegeben. |
| Detach() |
Diese Methode wird aufgerufen, um den Monitor anzuweisen, vom Ziel Prozess zu trennen. Dadurch wird ein ProcessExit-Ereignis für den Ereignis Thread ausgegeben. |
| Disassemble(DkmInstructionAddress, UInt32) |
Disassembliert einen Adressbereich im zu debuggenden Prozess. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| FindNativeModule(UInt64) |
Löst eine virtuelle Adresse in ein System eigenes Modul auf. Wenn sich die virtuelle Adresse nicht in einem Modul befindet, wird NULL zurückgegeben (S_FALSE Rückgabecode in System eigenem Format). Deaktivierte Module werden nicht zurückgegeben. |
| FindNativeModule(UInt64, Boolean) |
Löst eine virtuelle Adresse in ein System eigenes Modul auf. Wenn sich die virtuelle Adresse nicht in einem Modul befindet, wird NULL zurückgegeben (S_FALSE Rückgabecode in System eigenem Format). |
| FindProcess(Guid) |
Suchen Sie ein dkmprocess-Objekt. Wenn kein Objekt mit dem angegebenen Eingabe Schlüssel vorhanden ist, schlägt findprocess fehl. |
| FindProcessSnapshot(UInt32) |
Suchen Sie ein dkmprocesssnapshot-Element in diesem dkmprocess. Wenn kein Element mit dem angegebenen Eingabe Schlüssel vorhanden ist, kann findprocesssnapshot nicht ausgeführt werden. Diese API wurde in Visual Studio 15 Update 3 (dkmapiversion. VS15Update3) eingeführt. |
| FindRuntimeInstance(DkmRuntimeInstanceId) |
Suchen Sie in diesem dkmprocess-Element nach einem dkmruntimeinstance-Element. Wenn kein Element mit dem angegebenen Eingabe Schlüssel vorhanden ist, kann findruntimeinstance nicht ausgeführt werden. |
| FindSystemThread(Int32) |
Ein dkmthread-Element in diesem dkmprocess suchen. Wenn kein Element mit dem angegebenen Eingabe Schlüssel vorhanden ist, kann findsystemthread nicht ausgeführt werden. Wenn ein Objekt gefunden wird, enthält es immer den Teil "System". |
| FreeVirtualMemory(UInt64, Int32, Int32) |
Führt Freigabe und/oder Aufhebung der Zusage eines Arbeitsspeicherbereich innerhalb des virtuellen Adressraums des Zielprozesses aus. Weitere Informationen finden Sie in der VirtualFree-Win32-API in MSDN. |
| GetComputeKernels() |
Getcomputekernels listet die dkmgpucomputekernel-Elemente dieses dkmprocess-Objekts auf. |
| GetDataItem<T>() |
Ruft die Instanz von 't ' ab, die dieser Container Instanz hinzugefügt wurde. Wenn dieser Container kein 't-Zeichen enthält, gibt diese Funktion NULL zurück. (Geerbt von DkmDataContainer) |
| GetDumpExePath() |
Gibt den Pfad zur primären ausführbaren Datei im Minidump zurück, das gedebuggt wird.
|
| GetEndingTimeContext() |
Ruft den Zeit Kontext ab, der die Endposition der Ablauf Verfolgung darstellt.
|
| GetGPUBreakpointBehavior() |
Dient zum Erreichen des Breakpoint-Verhaltens des Prozesses. |
| GetHandleCount() |
Ruft die Anzahl aktiver Handles im Prozess ab. |
| GetInstructionAddress(DkmInstructionAddress, Int32) |
Gibt die Adresse der tes-Anweisung relativ zu einer Startadresse zurück. Bei konstanten Längen Anweisungs Sätzen handelt es sich hierbei um einfache Arithmetik. Für Anweisungs Sätze mit variabler Länge ist Reverse-Disassembly erforderlich, um diese Adresse zu erhalten. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| GetInstructionAddress(DkmWorkList, DkmInstructionAddress, Int32, DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>) |
Gibt die Adresse der tes-Anweisung relativ zu einer Startadresse zurück. Bei konstanten Längen Anweisungs Sätzen handelt es sich hierbei um einfache Arithmetik. Für Anweisungs Sätze mit variabler Länge ist Reverse-Disassembly erforderlich, um diese Adresse zu erhalten. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| GetInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>) |
Löst eine CPU-InstructionAddress in eine dkminstructionaddress auf. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| GetManagedStowedException() |
Die verwaltete gestautete Ausnahme von einem Dump erhalten. Dadurch wird S_FALSE zurückgegeben, wenn keine verwaltete, nicht verwaltete Ausnahme vorliegt. Diese API wurde in Visual Studio 12 Update 3 (dkmapiversion. VS12Update3) eingeführt. |
| GetMemoryReadTime(UInt64, UInt32, DkmMemoryTimeFlags) |
Wird aufgerufen, um zu ermitteln, welcher Zeitpunkt relativ zum aktuellen Prozess Zeitpunkt ist, in dem ein Wert aus einem Speicher Lesevorgang von aufgelöst wird. Diese API wurde in Visual Studio 15 Update 8 (dkmapiversion. VS15Update8) eingeführt. |
| GetNativeRuntimeInstance() |
Bietet Zugriff auf die dkmruntimeinstance, die für den naive Code innerhalb eines Prozesses gilt. Es gibt genau eine dkmruntimeinstance für einen Prozess. |
| GetNativeStowedException() |
Die systemeigene gestaut-Ausnahme wird von einem Dump abgeleitet. Dadurch wird S_FALSE zurückgegeben, wenn keine systemeigene verstaute Ausnahme vorliegt. Diese API wurde in Visual Studio 12 Update 3 (dkmapiversion. VS12Update3) eingeführt. |
| GetPendingBreakpoints() |
Getpdingbreakpoints listet die dkmpendingbreakpoint-Elemente dieses dkmprocess-Objekts auf. |
| GetProcesses() |
GetProcesses listet alle erstellten dkmprocess-Objekte auf. |
| GetProcessExecuteDirection() |
Ruft einen Wert ab, der angibt, ob der Prozess in vorwärts-oder Rückwärtsrichtung ausgeführt wird. Diese Methode wird nur für Zeit Reise Prozesse implementiert. Diese API wurde in Visual Studio 15 Update 8 (dkmapiversion. VS15Update8) eingeführt. |
| GetProcessSnapshots() |
Getprocesssnapshots listet die dkmprocesssnapshot-Elemente dieses dkmprocess-Objekts auf. Diese API wurde in Visual Studio 15 Update 3 (dkmapiversion. VS15Update3) eingeführt. |
| GetRunningTime() |
Ruft die Anzahl der Uhrzyklen ab, die die zu entbuggende Komponente seit dem letzten Aufruf von rectrunningtime () ausgeführt wurde. |
| GetRuntimeFunctionResolutionRequests() |
Getruntimefunctionresolutionrequests listet die dkmruntimefunctionresolutionrequest-Elemente dieses dkmprocess-Objekts auf. |
| GetRuntimeInstances() |
Getruntimeinstance listet die dkmruntimeinstance-Elemente dieses dkmprocess-Objekts auf. |
| GetSourceSnapshot() |
Das Quell Momentaufnahme-Objekt für den debuggten Prozess. Der Debugprozess muss Momentaufnahmen darstellen. Diese API wurde in Visual Studio 15 Update 3 (dkmapiversion. VS15Update3) eingeführt. |
| GetStowedExceptions() |
Die verstauten Ausnahmen von einem Dump erhalten.
|
| GetSystemThreads() |
Stellt die Liste der aktiven Systemthreads im Prozess bereit. Threads, bei denen es sich nicht um Systemthreads handelt (dkmthread:: System ist NULL) oder entladen wurden, sind in dieser Auflistung nicht vorhanden. |
| GetTargetCompositionServices(DkmTargetCompositionScenario, Object) |
Ruft den idebugservicemanager für das entsprechende Szenario ab, der für den Zugriff auf die auf die Ziel Komposition basierenden Erweiterungen verwendet werden kann. Location-Einschränkung: Ziel-Kompositions Schnittstellen können nicht über einen Computer hinweg gemarshallt werden, sind jedoch sicher, falls verfügbar. Diese API wurde in Visual Studio 16 Update 5 (dkmapiversion. VS16Update5) eingeführt. |
| GetThreads() |
Getthreads listet die dkmthread-Elemente dieses dkmprocess-Objekts auf. |
| InvisibleWriteMemory(UInt64, Byte[]) |
Schreiben Sie Speicher in den Ziel Prozess, aber blenden Sie den Schreibvorgang aus den Aufrufen von "Read Memory" aus. Diese API kann zum Patchen von Anweisungen oder Daten innerhalb des Ziel Prozesses verwendet werden, um Debugger-Funktionen zu implementieren. Vor der Datenübertragung überprüft das System, ob für den Schreibzugriff auf alle Daten in der Basisadresse und im Arbeitsspeicher der angegebenen Größe zugegriffen werden kann, und wenn nicht darauf zugegriffen werden kann, löst die Funktion einen E_INVALID_MEMORY_ADDRESS Fehler aus. |
| IsLoadComplete() |
Gibt true zurück, wenn alle anfänglichen Modul Ladevorgänge/-Threads für alle Laufzeiten gesendet wurden, die beim Debuggen des Prozesses vorhanden waren. Beachten Sie, dass sich diese Definition von der Win32-Debug-API-Definition von Load Complete unterscheiden kann, da andere Lauf Zeit Instanzen möglicherweise zusätzliche Zeit zum Laden benötigen. Diese API wurde in Visual Studio 12 Update 2 (dkmapiversion. VS12Update2) eingeführt. |
| IsStopped() |
Diese Methode ermöglicht es einer Komponente, festzustellen, ob der Prozess vom Verteiler als beendet betrachtet wird. Diese Methode muss nicht aus einer Schnittstellen Methode aufgerufen werden, die erfordert, dass der Ziel Prozess angehalten wird. Sie kann jedoch bei Vorgängen hilfreich sein, die im Lauf Modus aufgerufen werden können. |
| LocateBinary(String, String, String, UInt32, UInt32) |
Mit dieser Methode werden der lokale Datenträger und alle konfigurierten Symbol Server nach einer Binärdatei durchsucht, die den Parametern entspricht. Der Pfad zu dieser Datei auf dem lokalen Datenträger wird zurückgegeben. Wenn sich die Datei auf einem Symbol Server befindet, wird Sie in einen Cache heruntergeladen, und der lokale Pfad wird zurückgegeben. |
| OnAsyncBreakComplete(DkmAsyncBreakStatus, DkmThread) |
Rufen Sie ein asyncbreakcomplete-Ereignis auf. Komponenten, die die Ereignis Senke-Schnittstelle implementieren, erhalten die Ereignis Benachrichtigung. Diese Methode fügt das Ereignis in die Warteschlange ein, und die Steuerung kehrt sofort an den Aufrufer zurück. |
| OnEntryPoint(DkmThread) |
Gibt ein entryPoint-Ereignis aus. Komponenten, die die Ereignis Senke-Schnittstelle implementieren, erhalten die Ereignis Benachrichtigung. Diese Methode fügt das Ereignis in die Warteschlange ein, und die Steuerung kehrt sofort an den Aufrufer zurück. |
| OnHiddenEntryPoint(DkmThread) |
Rufen Sie ein hiddenentrypoint-Ereignis auf. Komponenten, die die Ereignis Senke-Schnittstelle implementieren, erhalten die Ereignis Benachrichtigung. Diese Methode fügt das Ereignis in die Warteschlange ein, und die Steuerung kehrt sofort an den Aufrufer zurück. Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt. |
| OnInstructionPatchInserted(UInt64, Byte[]) |
Methode, die vom Basis-Debug-Monitor aufgerufen wird, um andere Komponenten darüber zu informieren, dass der Anweisungsspeicher des Ziel Prozesses geändert wurde. Dies wird derzeit nur für das Einfügen von Haltepunkten verwendet. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. |
| OnInstructionPatchRemoved(UInt64, Byte[]) |
Methode, die vom Basis-Debug-Monitor aufgerufen wird, um andere Komponenten darüber zu informieren, dass der Anweisungsspeicher des Ziel Prozesses in seinem ursprünglichen Zustand wieder hergestellt wurde. Dies wird derzeit nur zum Entfernen von Haltepunkten verwendet. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. |
| OnLoadComplete() |
Diese Methode wird vom Basis-Debug-Monitor des Prozesses aufgerufen, um ein LoadComplete-Ereignis zu erhöhen. LoadComplete wird ausgegeben, nachdem dkmmoduleinstance-Objekte für den anfänglichen Satz von Modulen im Prozess erstellt wurden. in der Regel wurde auch der anfängliche Satz von Threads erstellt. Das Ereignis zum Laden des Ladevorgangs kann von einem Lauf Zeit debugheader mit DkmLoadCompleteEventDeferral. Add verzögert werden. in diesem Fall wird diese Methode sofort beendet. Andernfalls sendet diese Methode das Ereignis an alle Komponenten, die die Ereignis Synchronisierungs Schnittstelle implementieren. Das Steuerelement wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden. Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat. |
| OnProcessSnapshotAdded(DkmProcessSnapshot) |
Ein Handler, der benachrichtigt wird, nachdem eine Prozess Momentaufnahme für den angegebenen Prozess erstellt wurde. Diese API wurde in Visual Studio 15 Update 6 (dkmapiversion. VS15Update6) eingeführt. |
| OnProcessSnapshotRemoved(DkmProcessSnapshot) |
Ein Handler, der benachrichtigt wird, nachdem eine Prozess Momentaufnahme aus dem angegebenen Prozess entfernt wurde. Diese API wurde in Visual Studio 15 Update 6 (dkmapiversion. VS15Update6) eingeführt. |
| OnTraceTimeContextSet(DkmTraceTimeContext, DkmTraceTimeContext, DkmTraceTimeContext, DkmThread) |
Rufen Sie ein tracetimecontextset-Ereignis auf. Komponenten, die die Ereignis Senke-Schnittstelle implementieren, erhalten die Ereignis Benachrichtigung. Das Steuerelement wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden. Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat. Diese API wurde in Visual Studio 16 Update 2 (dkmapiversion. VS16Update2) eingeführt. |
| QueryPerformanceCounters(DkmWorkList, DkmCompletionRoutine<DkmPerformanceCountersAsyncResult>) |
Asynchrone Methode zum Abrufen der Zeit Steuerungsdaten aus idkmperformancemessungs rementdispatcherservice, die von Ereignissen erfasst werden, die von den Laufzeiten im Prozess ausgegeben wurden. Dies wird asynchron aufgerufen, da der Aufwand für den Debugger sehr kostspielig sein kann. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt. |
| ReadMemory(UInt64, DkmReadMemoryFlags, Byte[]) |
Lesen Sie den Arbeitsspeicher des Ziel Prozesses. |
| ReadMemory(UInt64, DkmReadMemoryFlags, Void*, Int32) |
Lesen Sie den Arbeitsspeicher des Ziel Prozesses. |
| ReadMemoryString(UInt64, DkmReadMemoryFlags, UInt16, Int32) |
Liest eine NULL-terminierte Zeichenfolge aus dem Arbeitsspeicher des Ziel Prozesses. Dies kann zum Lesen von ANSI-oder Unicode-Zeichen folgen (UTF-8, UTF-16 oder UTF-32) verwendet werden. |
| RemoveDataItem<T>() |
Entfernen Sie die Instanz von 't "aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird. (Geerbt von DkmDataContainer) |
| RemoveExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmRemoveExceptionTriggerAsyncResult>) |
Entfernt einen zuvor festgelegten Ausnahme Fehler. Beachten Sie, dass die Verarbeitungsphase ignoriert wird und nicht dem ursprünglich bereitgestellten Wert entsprechen muss. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt. |
| RemoveExceptionTrigger(Guid, DkmExceptionTrigger) |
Entfernt einen zuvor festgelegten Ausnahme Fehler. Beachten Sie, dass die Verarbeitungsphase ignoriert wird und nicht dem ursprünglich bereitgestellten Wert entsprechen muss. Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt. |
| RemoveSnapshotById(UInt32) |
Entfernen Sie die Prozess Momentaufnahmen für diesen Prozess.
|
| RemoveSnapshots() |
Entfernen Sie die Prozess Momentaufnahmen für diesen Prozess.
|
| SearchRuntimeFunctionTable(UInt64, UInt64) |
Die-Methode gibt, sofern möglich, den Inhalt des IMAGE_RUNTIME_FUNCTION_ENTRY für eine Adresse zurück. Zum Durchsuchen statischer Einträge sollten Aufrufer die entsprechende Methode für dkmnativemoduleinstance aufruft. |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Fügen Sie ein neues Element in den Datencontainer ein. (Geerbt von DkmDataContainer) |
| SetDetachUnavailable(Int32) |
Wird von einer Komponente aufgerufen, um anzugeben, dass das Trennen für den Prozess nicht zulässig ist.
|
| SetGPUMemoryAccessWarning(Int32, Boolean) |
Aktiviert oder deaktiviert eine bestimmte GPU-Speicherzugriffs Warnung. |
| SetProcessExecuteDirection(DkmProcessExecuteDirection) |
Legt die Ausführungs Richtung der Prozesse fest. Die Richtung kann vorwärts oder umgekehrt lauten. Diese Methode wird nur für Zeit Reise Prozesse implementiert. Diese API wurde in Visual Studio 15 Update 8 (dkmapiversion. VS15Update8) eingeführt. |
| SetRunningTime(UInt64) |
Legt den Wert für die laufende Zeit auf den angegebenen Wert fest. |
| StoppingEventProcessingBegin(Boolean) |
Stoppingeventprocessingbegin wird vom Basis-Debug-Monitor für den Ereignis Thread aufgerufen. Der Verteiler wird benachrichtigt, dass der Ziel Prozess beendet wurde und möglicherweise ein Beendigungs Ereignis erreicht hat. Beispielsweise ruft der Win32-Basis-Debug-Monitor dies immer dann auf, wenn er eine EXCEPTION_DEBUG_EVENT vom Betriebssystem empfängt. Diese Methode aktualisiert den internen Zustand des dkmprocess-Objekts, sodass das Senden von Ereignissen zulässig ist. |
| StoppingEventProcessingContinue() |
Stoppingeventprocessingcontinue wird vom Basis-Debug-Monitor für den Ereignis Thread aufgerufen. Diese Methode wird aufgerufen, nachdem alle anhalteereignisse innerhalb des aktuellen Batches ausgegeben wurden (z.b. "dkmruntimebreakpoint. onhit" genannt). Mit dieser Methode werden Komponenten benachrichtigt, die eine Stop-Ereignis Benachrichtigungs Schnittstelle implementiert haben, und der Ausführungs-Manager wird aufgerufen, um den Prozess an einen sicheren Punkt zu senden. Der Basis-Debug-Monitor muss nach jedem erfolgreichen Aufrufen von "stoppingeventprocessingbegin" "stoppingeventprocessingcontinue" aufrufen. der grundlegende Debugmonitor, nachdem alle anhalteereignisse ausgegeben wurden. Ein basisdebug-Monitor sollte erwartungsgemäß erneut aufgerufen werden, während er in dieser Methode ist. |
| TakeSnapshot(UInt64, DkmThread) |
Erstellen Sie eine Momentaufnahme der zu entbuggenden Komponente.
|
| TakeSnapshotWithException(UInt64, DkmExceptionInformation) |
Erstellen Sie eine Momentaufnahme der zu entbuggenden Komponente.
|
| Terminate(Int32) |
Diese Methode wird aufgerufen, um dem Monitor mitzuteilen, dass der Ziel Prozess beendet werden soll. Dadurch wird ein ProcessExit-Ereignis für den Ereignis Thread ausgegeben. |
| TryLocateBinary(String, String, String, UInt32, UInt32) |
Wird aufgerufen, um die Suche nach Binärdateien zu initiieren, deren Bilder möglicherweise nicht bereits gefunden oder geladen wurden. Mit dieser Methode werden der lokale Datenträger und alle konfigurierten Symbol Server nach einer Binärdatei durchsucht, die den Parametern entspricht. Der Pfad zu dieser Datei auf dem lokalen Datenträger wird zurückgegeben. Wenn sich die Datei auf einem Symbol Server befindet, wird Sie in einen Cache heruntergeladen, und der lokale Pfad wird zurückgegeben. Diese API wurde in Visual Studio 11 Update 1 (dkmapiversion. VS11FeaturePack1) eingeführt. |
| Unload(Int32) |
ProcessExit wird vom Verteiler gesendet, wenn dkmprocess:: Entladen vom Monitor aufgerufen wird. Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat. |
| VolatileReadMemory(UInt64, Byte[]) |
Lese Speicher aus dem Ziel Prozess. Diese Methode unterscheidet sich von "Read Memory" dahin, dass diese Methode jederzeit aufgerufen werden kann (nicht nur, wenn das Ziel beendet wird), und der Debugger versucht nicht, das Ergebnis dieses Vorgangs zwischenzuspeichern. |
| VolatileReadMemory(UInt64, Void*, Int32) |
Lese Speicher aus dem Ziel Prozess. Diese Methode unterscheidet sich von "Read Memory" dahin, dass diese Methode jederzeit aufgerufen werden kann (nicht nur, wenn das Ziel beendet wird), und der Debugger versucht nicht, das Ergebnis dieses Vorgangs zwischenzuspeichern. |
| VolatileWriteMemory(UInt64, Byte[]) |
Schreiben in den Arbeitsspeicher des Ziel Prozesses. Diese Methode unterscheidet sich von "Schreib Speicher" darin, dass diese Methode jederzeit aufgerufen werden kann (nicht nur, wenn das Ziel beendet wird), und der Debugger versucht nicht, das Ergebnis dieses Vorgangs zwischenzuspeichern. Wenn kein Speicher in den Speicher geschrieben werden kann, wird ein E_INVALID_MEMORY_ADDRESS Fehler ausgelöst. Da der Arbeitsspeicher Schreibvorgang im Lauf Modus ausgeführt werden kann, kann dieser Fehler auftreten, nachdem der Kopiervorgang bereits begonnen hat, was zu einer Beschädigung des Arbeitsspeichers im Ziel Prozess führen kann. Aus diesem Grund muss diese Funktion mit Bedacht verwendet werden, und Fehler können schwerwiegend sein. |
| WaitForPausingEventProcessingComplete(Int32, Boolean) |
Diese Methode kann von einer Monitor Komponente aufgerufen werden, um auf nicht anhaltende Ereignisse mit der Pause-Ereignis Behandlung zu warten, sowie auf eine beliebige idkmprocesscontinuenotifitifiprocessing-Verarbeitung, die zurzeit beendet wird. Dies kann unter anderem hilfreich sein, wenn Sie versuchen, Func-evals abzubrechen, indem Sie sicherstellen, dass der Ziel Prozess ausgeführt werden kann. Beachten Sie, dass diese Methode keine Garantie dafür bietet, dass die Ereignisse nicht sofort angehalten werden. Code sollte daher nicht davon ausgehen, dass nach der Rückgabe von dieser API keine Beendigung der Ereignisverarbeitung stattfindet. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. Diese API wurde in Visual Studio 15 Update 6 (dkmapiversion. VS15Update6) eingeführt. |
| WriteDump(DkmDumpType, String, DkmThread) |
Diese Methode schreibt ein Speicher Abbild des Prozesses in den angegebenen Pfad. |
| WriteMemory(UInt64, Byte[]) |
Schreibt Speicher in den Ziel Prozess. Vor der Datenübertragung überprüft das System, ob für den Schreibzugriff auf alle Daten in der Basisadresse und im Arbeitsspeicher der angegebenen Größe zugegriffen werden kann, und wenn nicht darauf zugegriffen werden kann, löst die Funktion einen E_INVALID_MEMORY_ADDRESS Fehler aus. |