Aracılığıyla paylaş


Programa ekle

Programlarınızı uygun bağlantı noktasıyla kaydettikten sonra, hata ayıklamak istediğiniz programa hata ayıklayıcıyı eklemeniz gerekir.

Nasıl ekileceğini seçme

Oturum hata ayıklama yöneticisinin (SDM) hata ayıklanan programa eklemeyi denemesinin üç yolu vardır.

  1. LaunchSuspended yöntemi aracılığıyla hata ayıklama altyapısı tarafından başlatılan programlar için (örneğin, yorumlanan diller tipik), SDM, ekli olan programla ilişkili IDebugProgramNodeAttach2 nesnesinden IDebugProgramNodeAttach2 arabirimini alır. SDM arabirimi elde IDebugProgramNodeAttach2 edebilirse, SDM daha sonra OnAttach yöntemini çağırır. IDebugProgramNodeAttach2::OnAttach yöntemi, programa eklenmediğini ve programa eklenmek için başka girişimlerde bulunulabileceğini belirtmek için döndürürS_OK.

  2. SDM, IDebugProgramEx2 arabirimini iliştirilmekte olan programdan edinebiliyorsa, SDM Attach yöntemini çağırır. Bu yaklaşım, bağlantı noktası sağlayıcısı tarafından uzaktan başlatılan programlar için tipiktir.

  3. Program veya yöntemleri aracılığıyla IDebugProgramNodeAttach2::OnAttach eklenemiyorsa, SDM işlevi çağırarak CoCreateInstance hata ayıklama altyapısını yükler (henüz yüklenmemişse) ve ardından Attach yöntemini çağırır.IDebugProgramEx2::Attach Bu yaklaşım, bir bağlantı noktası sağlayıcısı tarafından yerel olarak başlatılan programlar için tipiktir.

    Özel bir bağlantı noktası sağlayıcısının, özel bağlantı noktası sağlayıcısının IDebugEngine2::Attach yöntemi uygulamasında yöntemini çağırması IDebugProgramEx2::Attach da mümkündür. Genellikle bu durumda, özel bağlantı noktası sağlayıcısı uzak makinede hata ayıklama altyapısını başlatır.

    Oturum hata ayıklama yöneticisi (SDM) Attach yöntemini çağırdığında ek elde edilir.

    DE'nizi hata ayıklanacak uygulamayla aynı işlemde çalıştırırsanız aşağıdaki IDebugProgramNode2 yöntemlerini uygulamanız gerekir:

  1. SDM'ye bir IDebugEngineCreateEvent2 olay nesnesi gönderin. Daha fazla bilgi için bkz . Olay gönderme.

  2. yöntemine geçirilen IDebugProgram2 nesnesinde GetProgramId yöntemini çağırınIDebugEngine2::Attach.

    Bu, programı tanımlamak için kullanılan bir GUID döndürür. , GUID DE için yerel programı temsil eden nesnede depolanmalıdır ve yöntemi arabirimde IDebugProgram2 çağrıldığında IDebugProgram2::GetProgramId döndürülmelidir.

    Dekont

    Arabirimi uygularsanız IDebugProgramNodeAttach2 , programın GUID yöntemine IDebugProgramNodeAttach2::OnAttach geçirilir. Bu GUID yöntem tarafından IDebugProgram2::GetProgramId döndürülen program GUID için kullanılır.

  3. SDM'ye programı DE'ye temsil etmek için yerel IDebugProgram2 nesnenin oluşturulduğunu bildirmek için bir IDebugProgramCreateEvent2 olay nesnesi gönderin. Ayrıntılar için bkz . Olayları Gönderme.

    Dekont

    Bu, yöntemine geçirilen nesneyle IDebugEngine2::Attach aynı IDebugProgram2 değildir. Daha önce geçirilen IDebugProgram2 nesne yalnızca bağlantı noktası tarafından tanınır ve ayrı bir nesnedir.