Sync Framework 구성 요소 추적
Sync Framework에서는 여러 구성 요소의 실행을 추적할 수 있으므로, 응용 프로그램 디버깅 중에 유용하게 사용할 수 있습니다. 대부분의 Sync Framework 구성 요소에서 추적은 ETW(Windows용 이벤트 추적) 인프라를 사용하여 네이티브 코드 수준에서 수행됩니다. ETW 인프라에 대한 자세한 내용은 이벤트 추적(Event Tracing)을 참조하십시오.
관리되는 버전의 API를 사용하여 개발하는 경우에도 관리되는 API가 네이티브 API에 대한 씬 래퍼이므로 여전히 ETW를 사용합니다. Sync Framework 데이터베이스 공급자는 .NET Framework 구현에 기반한 관리되는 추적을 제공합니다. 자세한 내용은 방법: 동기화 프로세스 추적을 참조하십시오.
추적 도구 다운로드 및 사용
ETW에 필요한 추적 도구는 Windows의 각 버전에서 사용할 수 있는 Windows 지원 도구에 포함되어 있습니다. 예를 들어, Windows XP SP2용 도구는 이 Microsoft 다운로드 센터 페이지에서 사용할 수 있습니다. 다음 표에서는 Sync Framework 추적과 관련된 도구에 대해 설명합니다.
추적 도구 | 설명 | 구문 참조 |
---|---|---|
Tracelog.exe |
추적 로깅을 시작, 중지 또는 활성화합니다. |
|
Tracefmt.exe |
이벤트 추적 로그 파일(.etl)이나 실시간 추적 세션의 추적 메시지에 서식을 지정하여 표시합니다. |
추적 출력을 보려면 추적 로그를 시작하고, 추적을 활성화한 다음 추적을 보기 위한 서식을 지정합니다.
추적 로거를 시작하려면
추적 로거를 시작하려면 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 추적 참조를 참조하십시오.
추적 파일에 서식을 지정하여 표시하려면
추적을 보려면 로거를 플러시하고 Microsoft 다운로드 센터에서 Sync Framework용으로 제공되는 .tmf 파일을 사용하여 이진 추적 파일에 서식을 지정합니다. "Sync" 로거에서 추적을 보려면 다음과 유사한 명령을 사용합니다.
로거를 플러시하려면
tracelog.exe -flush "Sync"
를 실행합니다..tmf 파일을 Sync Framework 설치 경로(Program Files\Microsoft SDKs\Microsoft Sync Framework\v2.0)에서
%TEMP%\TMF
와 같은 작업 디렉터리로 복사합니다.파일에 서식을 지정하려면
tracefmt.exe %TEMP%\SyncFramework.etl -p %TEMP%\TMF -o %TEMP%\SyncFrameworkTrace.txt
를 실행합니다.파일을 보려면
%TEMP%\SyncFrameworkTrace.txt
를 엽니다.
추적을 중지하려면
앞서 시작한 "Sync" 로거를 중지하려면 tracelog.exe -stop "Sync"
를 실행합니다.
Sync Framework 추적 참조
다음 표에서는 Sync Framework의 각 구성 요소를 나타내는 GUID를 보여 줍니다.
구성 요소 | 구성 요소 추적 ID |
---|---|
핵심 프레임워크 및 런타임 |
5978339c-8ab2-467e-bb85-8832659d5ed0 |
단순 공급자 |
69c896b3-e183-428d-9e30-4b519b156828 |
웹 동기화 구성 요소 |
0958c02f-01cb-4b28-badf-1431c83a931e |
Metadata Storage Service |
67161b7f-60ff-4368-832e-670f2327a7e4 |
File Synchronization Provider |
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 |
단순 공급자(정의된 하위 구성 요소 없음) |
웹 동기화 구성 요소 플래그
추적 플래그 이름 | 비트 마스크 | 설명 |
---|---|---|
TRACE_MSG_FEEDSYNC |
0x0001 |
웹 동기화 구성 요소(정의된 하위 구성 요소 없음) |
Metadata Storage Service 플래그
추적 플래그 이름 | 비트 마스크 | 설명 |
---|---|---|
TRACE_MSG_METADATA_STORE |
0x0001 |
Metadata Storage Service(정의된 하위 구성 요소 없음) |
File Synchronization Provider 플래그
추적 플래그 이름 | 비트 마스크 | 설명 |
---|---|---|
TRACE_MSG_FSP |
0x0001 |
File Synchronization Provider(정의된 하위 구성 요소 없음) |
추적 수준
다음 표에서는 Sync Framework에 사용되는 추적 수준을 보여 줍니다. 수준이 높아지면 로깅되는 정보가 많아지며, 수준은 누적됩니다. 예를 들어, 수준 4 추적에는 수준 1-3의 모든 정보와 추가 정보가 포함됩니다.
추적 수준 | 값 | 설명 |
---|---|---|
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 |
각 함수가 시작되고 종료되는 시기에 대한 정보 |