Aracılığıyla paylaş


IDebugEngine2::Attach

Bir programa veya programlara hata ayıklama altyapısı (DE) ekler. DE, SDM'de işlem halinde çalışırken oturum hata ayıklama yöneticisi (SDM) tarafından çağrılır.

Sözdizimi

int Attach( 
   IDebugProgram2[]     pProgram,
   IDebugProgramNode2[] rgpProgramNodes,
   uint                 celtPrograms,
   IDebugEventCallback2 pCallback,
   Enum_ATTACH_REASON   dwReason
);

Parametreler

pProgram
[in] Eklenecek programları temsil eden bir IDebugProgram2 nesneleri dizisi. Bunlar bağlantı noktası programlarıdır.

rgpProgramNodes
[in] Her program için bir tane olmak üzere program düğümlerini temsil eden bir IDebugProgramNode2 nesneleri dizisi. Bu dizideki program düğümleri ile pProgramaynı programları temsil eder. DE'nin eklenecek programları tanımlayabilmesi için program düğümleri verilir.

celtPrograms
[in] ve rgpProgramNodes dizilerindeki pProgram program ve/veya program düğümlerinin sayısı.

pCallback
[in] Hata ayıklama olaylarını SDM'ye göndermek için kullanılacak IDebugEventCallback2 nesnesi.

dwReason
[in] ATTACH_REASON numaralandırmasından bu programların eklenmesinin nedenini belirten bir değer. Daha fazla bilgi için Açıklamalar bölümüne bakın.

İade Değeri

Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.

Açıklamalar

Bir programa eklemenin üç nedeni vardır:

  • ATTACH_REASON_LAUNCH , kullanıcı programı içeren işlemi başlattığından DE'nin programa eklendiğini gösterir.

  • ATTACH_REASON_USER kullanıcının DE'nin bir programa (veya program içeren işleme) eklenmesini açıkça talep ettiğini gösterir.

  • ATTACH_REASON_AUTO , BELIRLI bir işlemdeki diğer programlarda zaten hata ayıkladığı için DE'nin belirli bir programa ekli olduğunu gösterir. Buna otomatik ekleme de denir.

    Bu yöntem çağrıldığında DE'nin bu olayları sırayla göndermesi gerekir:

  1. IDebugEngineCreateEvent2 (hata ayıklama altyapısının belirli bir örneği için henüz gönderilmediyse)

  2. IDebugProgramCreateEvent2

  3. IDebugLoadCompleteEvent2

    Ayrıca, eklemenin nedeni ise ATTACH_REASON_LAUNCHDE'nin IDebugEntryPointEvent2 olayını göndermesi gerekir.

    DE, hata ayıklanan programa karşılık gelen IDebugProgramNode2 nesnesini aldıktan sonra, herhangi bir özel arabirim için sorgulanabilir.

    veya rgpProgramNodestarafından pProgram verilen dizideki bir program düğümünün yöntemlerini çağırmadan önce, gerekirse, program düğümünü IDebugProgram2 temsil eden arabirimde kimliğe bürünme etkinleştirilmelidir. Ancak normalde bu adım gerekli değildir. Daha fazla bilgi için bkz . Güvenlik Sorunları.

Ayrıca bkz.