IDebugClient::AttachProcess-Methode (dbgeng.h)
Die AttachProcess-Methode verbindet die Debugger-Engine mit einem Benutzermodusprozess.
Syntax
HRESULT AttachProcess(
[in] ULONG64 Server,
[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 null ist, stellt die Engine eine Verbindung mit einem lokalen Prozess her, ohne einen Prozessserver zu verwenden.
[in] ProcessId
Gibt die Prozess-ID des Zielprozesses an, an den der Debugger angefügt wird.
[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 Hinweise.
Rückgabewert
Diese Methode gibt möglicherweise auch Fehlerwerte zurück. 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.
Die DEBUG_ATTACH_XXX-Bitflags steuern, wie die Debugger-Engine an einen Benutzermodusprozess angefügt wird. Informationen zu den DEBUG_ATTACH_XXX-Optionen , die beim Anfügen an ein Kernelziel verwendet werden, finden Sie unter AttachKernel.
In der folgenden Tabelle werden die möglichen Flagwerte beschrieben.
Dauerhaft | BESCHREIBUNG |
---|---|
DEBUG_ATTACH_NONINVASIVE |
Fügen Sie nicht invasiv an das Ziel an. Weitere Informationen zum nichtinvasiven Debuggen finden Sie unter Nichtinvasives Debuggen (Benutzermodus).
Wenn dieses Flag festgelegt ist, dürfen die Flags DEBUG_ATTACH_EXISTING, DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK und DEBUG_ATTACH_INVASIVE_RESUME_PROCESS nicht festgelegt werden. |
DEBUG_ATTACH_EXISTING |
Fügen Sie eine Anwendung erneut an, an die ein Debugger bereits angefügt (und möglicherweise nicht mehr verwendet) wurde. Weitere Informationen zum erneuten Anfügen an Ziele finden Sie unter Erneutes Anfügen an die Zielanwendung.
Wenn dieses Flag festgelegt ist, dürfen die anderen DEBUG_ATTACH_XXX-Flags nicht festgelegt werden. |
DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND |
Halten Sie die Threads des Ziels nicht an, wenn sie nicht invasiv angefügt werden.
Wenn dieses Flag festgelegt ist, muss auch das Flag DEBUG_ATTACH_NONINVASIVE festgelegt werden. |
DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK |
(Windows XP und höher) Fordern Sie beim Anfügen an das Ziel keinen ersten Einbruch an.
Wenn dieses Flag festgelegt ist, dürfen die Flags DEBUG_ATTACH_NONINVASIVE und DEBUG_ATTACH_EXISTING nicht festgelegt werden. |
DEBUG_ATTACH_INVASIVE_RESUME_PROCESS | Wenn dieses Flag festgelegt ist, dürfen die Flags DEBUG_ATTACH_NONINVASIVE und DEBUG_ATTACH_EXISTING nicht festgelegt werden. |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (dbgeng.h einschließen) |