Aracılığıyla paylaş


Hata Ayıklama ve İzleme Özellikleri

Windows Sockets 2 uygulama geliştiricilerinin şu durumlarda hataları yalıtmaları gerekir:

  • Uygulama.
  • Ws2_32.dll veya uyumluluk dolgu DLL'lerinden biri.
  • Hizmet sağlayıcısı.

Windows Sockets 2, bu ihtiyacı çeşitli bileşen ve özellikler aracılığıyla ele alır:

  • Windows Vista ve sonraki sürümlerde Winsock izleme için tümleşik destek.
  • Windows Vista'da Ws2_32.dll özel olarak geliştirilmiş bir hata ayıklama sürümü.
  • Windows Server 2003 ve Windows XP'de kullanılmak üzere ayrı bir temel hata ayıklama ve izleme özelliği.

Windows için Olay İzleme kullanarak Winsock İzleme

Windows için Olay İzleme (ETW) kullanılarak Winsock izleme için tümleşik destek, Windows Vista ve sonraki sürümlere eklenmiştir. Bu, Windows Vista ve sonraki sürümlerde Winsock çağrılarını izlemek için tercih edilen yöntemdir. ETW kullanarak Winsock izleme basit bir özelliktir ve Windows'un perakende sürümlerinde çalışır. Ek yazılım veya bileşen gerekmez. Bu özelliğin yalnızca Windows Vista ve sonraki sürümlerde etkinleştirilmesi gerekir. Daha ayrıntılı bilgi için winsock izleme konularına bakın.

Ws2_32.dll Hata Ayıklama Sürümünü Kullanma

Windows Vista ve Winsock izlemesinde Ws2_32.dll hata ayıklama sürümünün birleşimi, Windows Sockets 2 API veya SPI genelindeki tüm yordam çağrılarının izlenmesini ve bir ölçüde denetlenmesini sağlar.

Windows Vista için Microsoft Windows Yazılım Geliştirme Seti'nin (SDK) bir sürümü varsayılan konuma yüklenirse, çeşitli mimariler için Ws2_32.dll hata ayıklama sürümleri aşağıdaki klasörün altında bulunur:

C:\Program Files\Microsoft SDKs\Windows\v6.0\NoRedist

test ettiğiniz Windows sürümü ve Hizmet Paketi ile eşleşen Ws2_32.dll denetlenmiş bir sürümü kullanılmalıdır. Test sisteminizdeki Ws2_32.dll güncelleştiren güvenlik düzeltme eklerinin uygulanmış olabileceğini unutmayın. Windows Vista için Windows SDK'sı ve önceki Platform Yazılım Geliştirme Seti (SDK) DVD/CD abonelikleri, Windows'un çeşitli sürümleri için denetlenen derlemeleri içerir. test edilen sistemde kullanılan perakende sürümüyle aynı denetime sahip Ws2_32.dll sürümünü kullanmanız gerekir. Ayrıca, denetlenen bir derleme altında çalışan davranışın perakende derlemeyle çalışmakla aynı olmadığını unutmayın.

Not Windows Server 2008 ve üzeri için Windows SDK'sı artık Ws2_32.dllözel hata ayıklama sürümlerini içermiyor. Geliştiriciler bunun yerine ETW kullanarak Winsock izleme kullanmalıdır, çünkü bu özellik hata ayıklama derlemeleri gerektirmez.

Windows Server 2003 ve Windows XP'de Winsock Hata Ayıklama ve İzleme Tesisi

Windows'un Windows 8 ve Windows Server 2012 öncesi eski sürümleri, Windows SDK ve eski Platform SDK'sına örnek olarak dahil edilen ayrı bir temel hata ayıklama ve izleme tesisini destekler. Hata ayıklama/izleme özelliği yalnızca Winsock izlemesinin desteklenmediği Windows Server 2003 ve Windows XP'de kullanılmalıdır.

Windows 7 için Windows SDK'sı varsayılan konuma yüklenmişse, bu ilkel Winsock izleme özelliği aşağıdaki klasöre yüklenir:

C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\NetDs\winsock\dt_dll

Bu klasördeki DbgSpec.doc dosyası, bu temel izleme tesisiyle ilgili belgeler sağlar. bu özelliği kullanmak için dt_dll klasöründeki örnek kodun derlenmesi gerekir. Geliştiriciler, hata ayıklama/izleme DLL'sinin kendi gereksinimlerini karşılayan sürümleri geliştirmek için kaynak kodunu kullanabilir.

Bu ilkel Winsock izleme özelliğinin yalnızca Ws2_32.dll hata ayıklama sürümü yüklü olarak çalışacağını unutmayın. Bu nedenle, test ettiğiniz Windows sürümü ve Hizmet Paketi ile eşleşen Ws2_32.dll denetlenen bir sürümünü almanız gerekir.

Bu temel dt_dll izleme tesisinin bir sınırlaması, örnek kodun her Winsock işlev çağrısı için genel bir kilit (kritik bölüm) kullanmasıdır. Bu yüzden bu tesis yarış koşullarıyla ilgilenmek için kullanışlı değildir. Bu izleme tesisinin çoğu gerçek Winsock sorunuyla başa çıkmak (genel kilitleri değiştirmek) için yararlı olması için örnek kodun önemli ölçüde yeniden yazılması gerekir. Bu örnek kod geliştiricilerin yordam çağrılarını, yordam dönüşlerini, parametre değerlerini ve dönüş değerlerini izlemesine olanak sağlar.

Geliştiriciler yordam çağrılarını, yordam dönüşlerini, parametre değerlerini ve dönüş değerlerini izlemek için bu temel mekanizmayı kullanabilir. Parametre değerleri ve dönüş değerleri, yordam çağrısı veya yordam dönüşünde değiştirilebilir. İsterseniz yordam çağrısı engellenebilir veya yeniden yönlendirilebilir. Bu bilgi ve denetim düzeyine erişildiğinde, geliştirici uygulamadaki, Ws2_32.dllveya hizmet sağlayıcısındaki bir sorunu daha iyi yalıtabiliyor.

winsock izleme