Share via


Sync Framework コンポーネントのトレース

Sync Framework では、いくつかのコンポーネントの実行をトレースできます。これは、アプリケーションのデバッグに便利です。ほとんどの Sync Framework コンポーネントのトレースは、Event Tracing for Windows (ETW) インフラストラクチャを使ってネイティブ コード レベルで行われます。ETW インフラストラクチャの詳細については、「イベントのトレース」を参照してください。

マネージ API はネイティブ API の薄いラッパーにすぎないので、API のマネージ バージョンに対する開発を行う場合にも、ETW を使用できます。Sync Framework データベース プロバイダーは .NET Framework の実装に基づくマネージ トレースを提供します。詳細については、「同期プロセスをトレースする方法」を参照してください。

トレース ツールのダウンロードと使用方法

ETW が必要とするトレース ツールは Windows サポート ツールに含まれています。これは Windows のバージョンごとに用意されています。たとえば、Windows XP SP2 に必要なツールは Microsoft ダウンロード センターの ページにあります。Sync Framework のトレースに必要なツールは次の表で説明します。

トレース ツール 説明 構文リファレンス

Tracelog.exe

トレースのログ記録を開始、停止、または有効化します。

Tracelog コマンドの構文

Tracefmt.exe

イベント トレースのログ ファイル (.etl) またはリアルタイムのトレース セッションからトレース メッセージを表示します。

Tracefmt

トレースの出力を表示するには、トレース ログを開始し、トレースを有効にして、表示用にトレースの書式を設定します。

トレース ロガーを開始するには

トレース ロガーを開始するには、ロガー名とトレース ファイル名を指定し、ファイルを書き込む方法を制御するパラメーターも指定します (tracelog.exe -start <LoggerName> <LoggerParameters> -f <PathToEtlFile>)。たとえば、次のコマンドを使用できます。

tracelog.exe -start "Sync" -paged -b 32 -max 100 -cir 20 -ls -f %TEMP%\SyncFramework.etl

トレースを有効にするには

トレースを有効にするには、トレースするコンポーネントの GUID、トレースするサブコンポーネントを示すフラグのビット マスク、およびトレース レベルを示す整数を指定します。たとえば、tracelog.exe - enable <LoggerName> -guid <ComponentTracingId> -flags <Flags> -level <Level> のようにします。この例では、Sync Framework のコア コンポーネントとそのすべてのサブコンポーネントのトレースを有効にします。トレース レベルは 4 (エラー以外の情報メッセージを含む) に設定されます。

tracelog.exe -enable "Sync" -guid #5978339c-8ab2-467e-bb85-8832659d5ed0 -flags 0xffff -level 4

Sync Framework のオプションの完全な一覧については、このトピックの「Sync Framework のトレースの参照」を参照してください。

トレース ファイルを書式設定して表示するには

トレースを表示するには、ロガーをフラッシュし、.tmf ファイルを使用してバイナリ トレース ファイルを書式設定します。Sync Framework 用の .tmf ファイルは、Microsoft ダウンロード センターからダウンロードできます。次のようなコマンドを使用して、Sync ロガーからのトレースを表示します。

  1. ロガーをフラッシュするには、tracelog.exe -flush "Sync" を実行します。

  2. .tmf ファイルを Sync Framework インストール パス (Program Files\Microsoft SDKs\Microsoft Sync Framework\v2.0) から作業ディレクトリ (%TEMP%\TMF など) にコピーします。

  3. ファイルを書式設定するには、tracefmt.exe %TEMP%\SyncFramework.etl -p %TEMP%\TMF -o %TEMP%\SyncFrameworkTrace.txt を実行します。

  4. ファイルを表示するには、%TEMP%\SyncFrameworkTrace.txt を開きます。

トレースを停止するには

前述で開始した Sync ロガーを停止するには、tracelog.exe -stop "Sync" を実行します。

Sync Framework のトレースの参照

次の表は Sync Framework コンポーネントを識別する GUID を示します。

コンポーネント コンポーネント トレース ID

コア フレームワークとランタイム

5978339c-8ab2-467e-bb85-8832659d5ed0

簡易プロバイダー

69c896b3-e183-428d-9e30-4b519b156828

Web 同期コンポーネント

0958c02f-01cb-4b28-badf-1431c83a931e

Metadata Storage Service

67161b7f-60ff-4368-832e-670f2327a7e4

ファイル同期プロバイダー

b5fac8e8-25e0-4468-926e-54cd8514f8a0

トレース フラグ

次の表は、どのサブコンポーネントをトレースするかを指定するために tracelog.exe の -flags パラメーターに渡すことのできるビット マスク フラグを示します。

コア フレームワークと実行時フラグ

トレース フラグの名前 ビット マスク 説明

TRACE_MSG_KNOWLEDGE

0x0001

ナレッジ操作の同期

TRACE_MSG_SYNC_SERVICES

0x0002

アプリケーション同期サービスやプロバイダー同期サービスなどの同期サービス

TRACE_MSG_SYNC_SESSION

0x0004

同期セッションと同期セッションの状態

TRACE_MSG_CHANGE_APPLIER

0x0008

通知を行う変更適用元

TRACE_MSG_CHANGE_BATCH

0x0010

変更バッチ

TRACE_MSG_CHANGE

0x0020

個々の変更

TRACE_MSG_FILTER

0x0040

変更フィルター

TRACE_MSG_IN_MEMORY_CONFLICT_LOG

0x0080

メモリ内競合ログ

TRACE_MSG_CHANGE_APPLICATION_SERVICES

0x0100

変更適用拡張サービス

簡易プロバイダー フラグ

トレース フラグの名前 ビット マスク 説明

TRACE_MSG_SIMPLESYNCWRAPPER

0x0001

簡易プロバイダー (サブコンポーネントは定義されません)

Web 同期コンポーネント フラグ

トレース フラグの名前 ビット マスク 説明

TRACE_MSG_FEEDSYNC

0x0001

Web 同期コンポーネント (サブコンポーネントは定義されません)

Metadata Storage Service のフラグ

トレース フラグの名前 ビット マスク 説明

TRACE_MSG_METADATA_STORE

0x0001

Metadata Storage Service (サブコンポーネントは定義されません)

ファイル同期プロバイダー フラグ

トレース フラグの名前 ビット マスク 説明

TRACE_MSG_FSP

0x0001

ファイル同期プロバイダー (サブコンポーネントは定義されません)

トレース レベル

次の表は、Sync Framework によって使用されるトレース レベルを示します。レベルが高くなるほどログの内容が詳しくなります。上位レベルには下位レベルの内容も含まれます。たとえば、レベル 4 のトレースではレベル 1 ~ 3 のすべての情報にレベル 4 の情報が追加されます。

トレース レベル 説明

TRACE_LEVEL_NONE

0

トレースなし

TRACE_LEVEL_CRITICAL

1

異常な終了や停止

TRACE_LEVEL_ERROR

2

サーバー エラー

TRACE_LEVEL_WARNING

3

問題を示唆する警告

TRACE_LEVEL_INFORMATION

4

エラー以外の場合も含めた情報

TRACE_LEVEL_METADATA_INFORMATION

5

同期メタデータについての情報

TRACE_LEVEL_FUNCTION

6

いつ関数への出入りがあったかを示す情報

参照

概念

Sync Framework のトラブルシューティング