IDebugEngine2::Attach
Připojí ladicí modul (DE) k programu nebo programům. Volal správce ladění relací (SDM), když de běží v procesu do SDM.
Syntaxe
int Attach(
IDebugProgram2[] pProgram,
IDebugProgramNode2[] rgpProgramNodes,
uint celtPrograms,
IDebugEventCallback2 pCallback,
Enum_ATTACH_REASON dwReason
);
Parametry
pProgram
[v] Pole IDebugProgram2 objekty, které představují programy, které mají být připojeny. Jedná se o programy portů.
rgpProgramNodes
[v] Pole IDebugProgramNode2 objektů, které představují programové uzly, jeden pro každý program. Programové uzly v tomto poli představují stejné programy jako v pProgram
. Programové uzly jsou dány tak, aby de mohl identifikovat programy, ke kterým se mají připojit.
celtPrograms
[v] Počet programů nebo programových uzlů v pProgram
polích a rgpProgramNodes
polích
pCallback
[v] IDebugEventCallback2 objekt, který se má použít k odesílání událostí ladění do SDM.
dwReason
[v] Hodnota z ATTACH_REASON výčtu, která určuje důvod připojení těchto programů. Další informace najdete v části Poznámky.
Vrácená hodnota
V případě úspěchu vrátí hodnotu S_OK
; v opačném případě vrátí kód chyby.
Poznámky
Existují tři důvody připojení k programu následujícím způsobem:
ATTACH_REASON_LAUNCH
značí, že de se připojuje k programu, protože uživatel spustil proces, který ho obsahuje.ATTACH_REASON_USER
označuje, že uživatel explicitně požádal o připojení k programu (nebo procesu, který obsahuje program).ATTACH_REASON_AUTO
indikuje, že de se připojuje k určitému programu, protože již ladí jiné programy v určitém procesu. Říká se tomu také automatické připojení.Při zavolání této metody musí de odesílat tyto události v posloupnosti:
IDebugEngineCreateEvent2 (pokud ještě nebyl odeslán pro konkrétní instanci ladicího modulu)
-
Kromě toho, pokud důvod připojení je
ATTACH_REASON_LAUNCH
, DE musí odeslat IDebugEntryPointEvent2 událost.Jakmile DE získá IDebugProgramNode2 objekt odpovídající programu laděný, může být dotazován na libovolné privátní rozhraní.
Před voláním metod programového uzlu v poli poskytnutém zosobněním
pProgram
neborgpProgramNodes
zosobnění v případě potřeby by mělo být povoleno vIDebugProgram2
rozhraní, které představuje programový uzel. Tento krok však obvykle není nutný. Další informace najdete v tématu Problémy se zabezpečením.