다음을 통해 공유


Visual Studio Enterprise에서 IntelliTrace를 사용하여 이벤트 보기(C#, Visual Basic)

IntelliTrace를 사용하여 특정 이벤트 또는 이벤트 범주 또는 이벤트 외에 개별 함수 호출에 대한 정보를 수집할 수 있습니다. 다음 절차에서는 이 작업을 수행하는 방법을 보여 줍니다.

Visual Studio Enterprise 버전에서는 IntelliTrace를 사용할 수 있지만 Professional 또는 Community 버전은 사용할 수 없습니다.

IntelliTrace 구성

IntelliTrace 이벤트만으로 디버깅을 시도할 수 있습니다. IntelliTrace 이벤트는 디버거 이벤트, 예외, .NET Framework 이벤트 및 기타 시스템 이벤트입니다. 디버깅을 시작하기 전에 IntelliTrace에서 기록하는 이벤트를 제어하려면 특정 이벤트를 설정하거나 해제해야 합니다. 자세한 내용은 IntelliTrace 기능을 참조하세요.

  • 파일 액세스에 대한 IntelliTrace 이벤트를 켭니다. 도구 > 옵션 > IntelliTrace IntelliTrace > 이벤트 페이지로 이동하여 파일 범주를 확장합니다. File 이벤트 범주를 확인합니다. 이렇게 하면 모든 파일 이벤트(액세스, 닫기, 삭제)를 확인할 수 있습니다.

앱 만들기

  1. C# 콘솔 애플리케이션을 만듭니다. Program.cs 파일에서 다음 using 문을 추가합니다.

    using System.IO;
    
  2. Main 메서드에서 FileStream를 생성하고, 이를 읽고, 닫고, 파일을 삭제합니다. 중단점을 설정할 위치를 갖기 위해 다른 줄을 추가합니다.

    static void Main(string[] args)
    {
        FileStream fs = File.Create("WordSearchInputs.txt");
        fs.ReadByte();
        fs.Close();
        File.Delete("WordSearchInputs.txt");
    
        Console.WriteLine("done");
    }
    
  3. Console.WriteLine("done");에 중단점을 설정합니다

디버깅 시작 및 IntelliTrace 이벤트 보기

  1. 평소와 같이 디버깅을 시작합니다. (F5 키를 누르거나 디버그 > 시작 디버깅을 클릭합니다.)

    팁 (조언)

    디버깅하는 동안 로컬자동 창을 열어 두고 해당 창에 값을 보고 기록합니다.

  2. 중단점에서 실행이 중지됩니다. 진단 도구 창이 표시되지 않으면 Windows > IntelliTrace 이벤트 디버그>를 클릭합니다.

    진단 도구 창에서 이벤트 탭을 찾습니다(3개의 탭, 이벤트, 메모리 사용량CPU 사용량이 표시됨). 이벤트 탭에는 디버거가 실행을 끊기 전에 마지막 이벤트로 끝나는 이벤트의 시간순 목록이 표시됩니다. Access WordSearchInputs.txt이벤트가 표시됩니다.

    Visual Studio 코드 창의 스크린샷. 중단점에서 실행이 중지되고 진단 도구 창의 이벤트 탭에 이벤트가 나열됩니다.

  3. 이벤트를 선택하여 세부 정보를 확장합니다.

    Visual Studio 진단 도구 창의 이벤트 탭 스크린샷 이벤트를 선택하고 확장하여 세부 정보를 표시합니다.

    경로 이름 링크를 선택하여 파일을 열 수 있습니다. 전체 경로 이름을 사용할 수 없는 경우 파일 열기 대화 상자가 나타납니다.

    선택한 이벤트가 수집된 시간으로 디버거의 컨텍스트를 설정하기 위해 기록 디버깅 활성화를 클릭하면, 호출 스택, 지역 변수 및 기타 참여 중인 디버거 창에 기록 데이터를 표시합니다. 소스 코드를 사용할 수 있는 경우 Visual Studio는 포인터를 원본 창의 해당 코드로 이동하여 검사할 수 있습니다.

    Visual Studio 코드 창의 스크린샷. 중단점에서 실행이 중지되고, 이벤트가 선택되며, 해당 코드 줄이 강조 표시됩니다.

  4. 버그를 찾지 못한 경우 버그로 이어지는 다른 이벤트를 검사해 보세요. 함수 호출을 단계별로 실행할 수 있도록 IntelliTrace 레코드 호출 정보를 가질 수도 있습니다.

기록 디버깅과 함께 IntelliTrace의 고급 기능 중 일부를 사용할 수 있습니다.