Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügt ein Debugmodul (DE) an ein Programm oder programme an. Wird vom Sitzungsdebug-Manager (SDM) aufgerufen, wenn der DE-Code in der SDM ausgeführt wird.
Syntax
int Attach(
IDebugProgram2[] pProgram,
IDebugProgramNode2[] rgpProgramNodes,
uint celtPrograms,
IDebugEventCallback2 pCallback,
Enum_ATTACH_REASON dwReason
);
Parameter
pProgram
[in] Ein Array von IDebugProgram2-Objekten , die Programme darstellen, die angefügt werden sollen. Dies sind Portprogramme.
rgpProgramNodes
[in] Ein Array von IDebugProgramNode2-Objekten , die Programmknoten darstellen, eine für jedes Programm. Die Programmknoten in diesem Array stellen dieselben Programme wie in pProgram. Die Programmknoten werden angegeben, damit die DE die anzufügenden Programme identifizieren kann.
celtPrograms
[in] Anzahl der Programme und/oder Programmknoten in den pProgram Arrays rgpProgramNodes .
pCallback
[in] Das IDebugEventCallback2-Objekt , das verwendet werden soll, um Debugereignisse an das SDM zu senden.
dwReason
[in] Ein Wert aus der ATTACH_REASON-Aufzählung , der den Grund für das Anfügen dieser Programme angibt. Weitere Informationen finden Sie im Abschnitt Hinweise.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.
Hinweise
Es gibt drei Gründe für das Anfügen an ein Programm, wie folgt:
ATTACH_REASON_LAUNCHgibt an, dass die DE an das Programm angefügt ist, da der Benutzer den Prozess gestartet hat, der ihn enthält.ATTACH_REASON_USERgibt an, dass der Benutzer die DE explizit aufgefordert hat, an ein Programm (oder den Prozess, der ein Programm enthält) anzufügen.ATTACH_REASON_AUTOgibt an, dass die DE an ein bestimmtes Programm angefügt wird, da sie bereits andere Programme in einem bestimmten Prozess debuggen. Dies wird auch als automatisches Anfügen bezeichnet.Wenn diese Methode aufgerufen wird, muss die DE diese Ereignisse in Folge senden:
IDebugEngineCreateEvent2 (wenn es noch nicht für eine bestimmte Instanz des Debugmoduls gesendet wurde)
-
Wenn der Grund für das Anfügen ist
ATTACH_REASON_LAUNCH, muss die DE außerdem das IDebugEntryPointEvent2-Ereignis senden.Sobald die DE das IDebugProgramNode2-Objekt abruft, das dem zu debuggenden Programm entspricht, kann es für jede private Schnittstelle abgefragt werden.
Vor dem Aufrufen der Methoden eines Programmknotens im Array, das von
pProgramoderrgpProgramNodes, Identitätswechsel, falls erforderlich, auf derIDebugProgram2Schnittstelle aktiviert werden soll, die den Programmknoten darstellt. Normalerweise ist dieser Schritt jedoch nicht erforderlich. Weitere Informationen finden Sie unter "Sicherheitsprobleme".