다음을 통해 공유


시간 이동 디버깅 - 추적 기록

시계가 있는 시간 이동 디버깅 로고입니다.

이 섹션에서는 TTD(시간 이동 디버깅) 추적을 기록하는 방법을 설명합니다. WinDbg , 실행 파일 시작(고급)프로세스에 연결에서 추적을 기록하는 방법에는 두 가지가 있습니다.

실행 파일 시작(고급)

실행 파일을 시작하고 TTD 추적을 기록하려면 다음 단계를 수행합니다.

  1. WinDbg에서 파일>시작 디버깅>실행 파일(고급)을 선택합니다.

  2. 기록하려는 사용자 모드 실행 파일의 경로를 입력하거나 찾아보기를 선택하여 실행 파일로 이동합니다. WinDbg에서 실행 파일 시작 메뉴를 사용하는 방법에 대한 자세한 내용은 WinDbg - 사용자 모드 세션 시작을 참조하세요.

  3. 실행 파일이 시작될 때 추적을 기록하려면 시간 이동 디버깅이 있는 레코드를 선택합니다.

    실행 파일 시작(고급) 화면에서 시작 기록 검사box가 있는 WinDbg의 스크린샷.

  4. 구성 및 레코드를 선택하면 추적 파일의 위치를 구성할 수 있습니다.

    찾아보기 단추와 파일 경로가 표시된 녹음/녹화 구성 대화 상자의 스크린샷

  5. 기록을 특정 모듈로 제한하려면 "실행의 하위 집합 기록"을 검사 모듈 이름을 입력합니다. 예를 들어 notepad.exe 실행만 기록하려는 경우 텍스트 상자에 "notepad.exe"를 입력합니다. notepad.exe 및 kernelbase.dll 실행을 기록하려면 텍스트 상자에 "notepad.exe,kernelbase.dll"를 입력합니다.

    실행 검사 및 모듈 목록 텍스트 상자의 레코드 하위 집합이 있는 기록 구성 대화 상자의 스크린샷

  6. 확인을 선택하여 실행 파일을 시작하고 기록을 시작합니다.

  7. 추적이 기록되고 있음을 나타내는 기록 대화 상자가 나타납니다.

    중지 및 디버그 및 취소 단추가 있는 TTD 녹음/녹화 팝업의 스크린샷

  8. 녹음/녹화에 대한 자세한 내용은 기록 방법을 참조하세요.

프로세스에 연결

프로세스에 연결하고 TTD 추적을 기록하려면 다음 단계를 수행합니다.

  1. WinDbg에서 프로세스에 대한 파일>시작 디버깅>연결을 선택합니다.

  2. 추적하려는 사용자 모드 프로세스를 선택합니다. WinDbg의 프로세스 메뉴에 연결 작업에 대한 자세한 내용은 WinDbg - 사용자 모드 세션 시작을 참조하세요.

    프로세스에 연결 화면의 시작 기록 검사box를 표시하는 WinDbg의 스크린샷.

  3. 실행 파일이 시작될 때 추적을 만들려면 시간 이동 디버깅을 사용하여 레코드 프로세스를 선택합니다.

  4. 연결을 선택하여 녹음/녹화를 시작합니다.

  5. 추적이 기록되고 있음을 나타내는 기록 대화 상자가 나타납니다.

    중지 및 디버그 및 취소 옵션이 있는 TTD 녹음/녹화 팝업의 스크린샷.

  6. 녹음/녹화에 대한 자세한 내용은 기록 방법을 참조하세요.

기록하는 방법

  1. 프로세스가 기록되므로 디버그하려는 문제를 발생시켜야 합니다. 문제가 있는 파일을 열거나 앱에서 특정 단추를 선택하여 관심 있는 이벤트가 발생할 수 있습니다.

  2. 녹음/녹화 대화 상자가 표시되는 동안 다음을 수행할 수 있습니다.

    • 중지 및 디버그 - 이 설정을 선택하면 기록이 중지되고 추적 파일이 만들어지고 추적 파일이 열리므로 디버깅을 시작할 수 있습니다.
    • 취소 - 이 값을 선택하면 녹음/녹화가 중지되고 추적 파일이 생성됩니다. 나중에 추적 파일을 열 수 있습니다.
  3. 녹음이 완료되면 앱을 닫거나 중지 및 디버그를 누릅니 .

    참고 항목

    중지 및 디버그취소는 모두 연결된 프로세스를 종료합니다.

  4. 기록 중인 애플리케이션이 종료되면 추적 파일이 닫히고 디스크에 기록됩니다. 이 경우 프로그램도 충돌합니다.

  5. 추적 파일을 열면 디버거가 추적 파일을 자동으로 인덱싱합니다. 인덱싱을 사용하면 보다 정확하고 빠른 메모리 값 조회가 가능합니다. 이 인덱싱 프로세스는 더 큰 추적 파일에 더 오래 걸립니다.

    ...
    00007ffc`61f789d4 c3              ret
    0:000> !index
    Indexed 1/1 keyframes
    Successfully created the index in 96ms.
    

    참고 항목

    키 프레임은 인덱싱에 사용되는 추적의 위치입니다. 키 프레임은 자동으로 생성됩니다. 더 큰 추적에는 더 많은 키 프레임이 포함됩니다. 추적이 인덱싱되면 키 프레임 수가 표시됩니다.

  6. 이 시점에서 추적 파일의 시작 부분에 있으며 시간이 지나면 앞뒤로 이동할 준비가 된 것입니다.

    중단점을 사용하는 것은 관심 있는 경우에 코드 실행을 일시 중지하는 일반적인 방법입니다. TTD에 고유한 경우 중단점을 설정하고 추적이 기록된 후 중단점이 적중될 때까지 시간을 거슬러 이동할 수 있습니다. 문제가 발생한 후 프로세스 상태를 검사하여 중단점에 가장 적합한 위치를 결정하는 기능을 통해 추가 디버깅 워크플로를 사용할 수 있습니다. 과거에 중단점을 사용하는 예제는 시간 이동 디버깅 - 샘플 앱 연습을 참조 하세요.

다음 단계

이제 TTD 추적을 기록했으므로 추적을 다시 재생하거나 추적 파일을 사용하여 작업할 수 있습니다(예: 동료와 공유). 자세한 내용은 다음 항목을 참조하십시오.

시간 이동 디버깅 - 추적 재생

시간 이동 디버깅 - 추적 파일 작업

시간 이동 디버깅 - 문제 해결

시간 이동 디버깅 - 샘플 앱 연습

참고 항목

시간 이동 디버깅 - 개요