IDebugClient3::CreateProcessAndAttachWide-Methode (dbgeng.h)
Die CreateProcessAndAttachWide-Methode erstellt einen Prozess über eine angegebene Befehlszeile und fügt dann an einen anderen Benutzermodusprozess an. Der erstellte Prozess wird angehalten und darf nur ausgeführt werden, wenn die Anfügung abgeschlossen ist. Dies ermöglicht eine grobe Synchronisierung beim Debuggen von Client- und Serverprozessen.
Syntax
HRESULT CreateProcessAndAttachWide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parameter
[in] Server
Gibt den Prozessserver an, der zum Anfügen an den Prozess verwendet werden soll. Wenn Server 0 ist, stellt die Engine eine Verbindung mit dem lokalen Prozess her, ohne einen Prozessserver zu verwenden.
[in, optional] CommandLine
Gibt die Befehlszeile an, die zum Erstellen des neuen Prozesses ausgeführt werden soll. Wenn CommandLineNULL ist, wird kein Prozess erstellt, und diese Methoden werden wie AttachProcess an einen vorhandenen Prozess angefügt.
[in] CreateFlags
Gibt die Flags an, die beim Erstellen des Prozesses verwendet werden sollen. Ausführliche Informationen zu diesen Flags finden Sie unter DEBUG_CREATE_PROCESS_OPTIONS. CreateFlags.
[in] ProcessId
Gibt die Prozess-ID des Zielprozesses an, an den der Debugger angefügt wird. Wenn ProcessId 0 ist, fügt der Debugger an den Prozess an, den er über CommandLine erstellt hat.
[in] AttachFlags
Gibt die Flags an, die steuern, wie der Debugger an den Zielprozess anfügt. Ausführliche Informationen zu diesen Flags finden Sie unter DEBUG_ATTACH_XXX.
Rückgabewert
Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode war erfolgreich. |
Hinweise
Diese Methode ist nur für das Debuggen im Livebenutzermodus verfügbar.
Wenn CommandLine nicht NULL und ProcessId nicht 0 ist, erstellt das Modul den Prozess in einem angehaltenen Zustand. Das Modul setzt diesen neu erstellten Prozess fort, nachdem es erfolgreich eine Verbindung mit dem in ProcessId angegebenen Prozess hergestellt hat.
Die Engine fügt erst vollständig an den Prozess an, wenn die WaitForEvent-Methode aufgerufen wurde. Erst nachdem der Prozess ein Ereignis generiert hat , z. B. das Create-process-Ereignis, wird es in der Debuggersitzung verfügbar.
Weitere Informationen zum Erstellen und Anfügen an Livebenutzermodusziele finden Sie unter Live User-Mode Targets.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (einschließlich Dbgeng.h) |