Winsock Tracing

はじめに

Winsock トレースは、小売バイナリで有効にして、オーバーヘッドを最小限に抑えて特定の Windows ソケット イベントをトレースできるトラブルシューティング機能です。 Windows ソケットに小売トレースを追加する目的は、開発者と製品サポートの診断機能を向上できるようにすることです。 Winsock ネットワーク イベント トレースでは、IPv4 および IPv6 アプリケーションのトレース ソケット操作がサポートされています。 Winsock カタログ変更トレースでは、レイヤード サービス プロバイダー (LSP) によって Winsock カタログに加えられた変更のトレースがサポートされます。 Winsock トレースは、Windows Vista 以降でサポートされています。

注意

階層型サービス プロバイダーは非推奨です。 Windows 8とWindows Server 2012以降では、Windows フィルタリング プラットフォームを使用します

 

ソケットで予期しないエラーが発生した場合、問題を診断するためのメイン手掛かりは、返されるエラー コードです。 多くの場合、返されるエラー コードでは、エラーが発生した理由 (特に、基になるネットワーク トランスポートによってエラーが開始された場合) は説明されません。 Winsock トレースでは、より詳細なトレース レベルが提供され、追加の情報をログに記録して、バッファーの破損や適切に記述されたアプリケーションをキャッチできます。

Winsock トレースでは、オペレーティング システムによって提供される汎用の高速トレース機能である Event Tracing for Windows (ETW) が使用されます。 ETW は、カーネルに実装されたバッファリングとログ記録メカニズムを使用して、ユーザー モード アプリケーションとカーネル モード デバイス ドライバーの両方によって発生するイベントのトレース メカニズムを提供します。 さらに、ETW を使用すると、ログ記録を動的に有効または無効にできるため、再起動やアプリケーションの再起動を必要とせずに運用環境で詳細なトレースを簡単に実行できます。 ログ メカニズムでは、非同期ライター スレッドによってディスクに書き込まれるバッファーが使用されます。 これにより、大規模なサーバー アプリケーションは、最小限の障害を伴うイベントを書き込みます。 ETW は Windows 2000 で初めて導入されました。 ETW を使用した Winsock トレースのサポートは、Windows Vista 以降で追加されました。 ETW の一般的な情報については、「 ETW を使用したデバッグとパフォーマンスチューニングの向上」を参照してください。

Winsock トレースは、コンピューター上で実行されているすべてのプロセスとスレッドに対してオペレーティング システム レベルでのみ有効にすることができます。 現在、Winsock トレースは、1 つのプロセスまたはスレッドに対して有効にすることはできません。 Winsock ネットワーク イベント トレースが有効になっている場合、コンピューター上のすべてのソケット アプリケーション (IPv4 と IPv6 の両方) がトレースされます。

次のトピックでは、Winsock トレースについて詳しく説明します。

ETW によりデバッグおよびパフォーマンス調整を改善する

デバッグおよびトレース機能