다음을 통해 공유


IntelliTrace를 사용하여 탐색

이 항목은 Visual Studio 2010 Ultimate에만 적용됩니다.

Visual Studio 디버거를 사용할 때 디버거 창에는 한 시점에서의 응용 프로그램 상태를 보여 주는 스냅숏이 표시됩니다. IntelliTrace를 사용하면 여러 시점에서의 응용 프로그램 상태를 볼 수 있습니다. IntelliTrace는 디버깅 세션 중 미리 정의된 지점에서의 응용 프로그램 상태를 기록합니다.

IntelliTrace를 사용하여 디버깅할 경우 디버그 정보가 수집된 어느 지점으로든 이동할 수 있습니다. IntelliTrace에서 새 지점으로 이동하면 소스 창에 해당 이벤트가 발생한 소스 코드가 표시됩니다. 동시에 디버거 호출 스택 창과 다른 디버거 창이 업데이트되어 해당 이벤트가 발생한 컨텍스트가 표시됩니다.

이 항목에서는 IntelliTrace를 사용하여 수집된 응용 프로그램 기록을 탐색하는 방법에 대해 설명합니다.

항목 내용

  • IntelliTrace 이벤트 뷰

  • 호출 뷰

  • 탐색 여백

  • IntelliTrace 기록 검색

IntelliTrace 이벤트 뷰

IntelliTrace 이벤트 뷰는 IntelliTrace 창의 기본 뷰로, 기본적으로 솔루션 탐색기팀 탐색기와 도킹되어 있습니다.IntelliTrace 이벤트는 IntelliTrace가 사용된 어느 시점에서나 수집됩니다. 따라서 모든 IntelliTrace 세션 중에 이 뷰를 사용할 수 있습니다.

디버그 기록 창 진단 이벤트 뷰

디버그 모드에서 IntelliTrace 이벤트 뷰에는 디버깅 세션 중 IntelliTrace에 의해 수집된 모든 이벤트의 목록이 표시됩니다. 수집되는 이벤트는 옵션 대화 상자에서 지정합니다. 수집할 이벤트를 지정하는 방법에 대한 자세한 내용은 IntelliTrace 정보 수집을 참조하십시오.

진단 이벤트가 수집된 시점으로 이동하려면

  • IntelliTrace 이벤트 뷰에서 탐색할 이벤트를 클릭합니다.

    소스 창에 해당 이벤트가 발생한 시점의 소스 코드가 표시되고, 명령 포인터가 해당 시점으로 이동하며, 디버거 창이 업데이트되어 이벤트가 발생한 컨텍스트를 보여 줍니다.

호출 뷰

호출 뷰에서는 호출 및 해당 호출과 연결된 IntelliTrace 이벤트를 계층적 방식으로 탐색할 수 있습니다.

디버그 기록 창 반전된 스택 뷰

IntelliTrace가 사용되는 경우 항상 수집되는 IntelliTrace 이벤트와 달리 호출 정보는 옵션 대화 상자에서 IntelliTrace 이벤트 및 호출 정보를 사용하도록 설정한 경우에만 수집됩니다. 이 옵션을 사용하도록 설정하는 방법에 대한 자세한 내용은 IntelliTrace 정보 수집을 참조하십시오.

호출 뷰를 표시하려면

  • IntelliTrace 창 위쪽의 도구 모음에서 호출 뷰 표시 아이콘을 클릭합니다.

호출 뷰에는 디버거 호출 스택 창의 내용을 반대로 뒤집은 것과 같은 호출 스택이 표시됩니다. 호출 스택 창에서는 현재 호출이 맨 위에 있지만 호출 뷰에서는 맨 아래에 있습니다.

IntelliTrace를 사용하여 디버깅할 때 현재 호출이란 보고 있는 시간 컨텍스트에서 현재에 해당하는 호출을 의미합니다. 즉, 반드시 실제 시간으로 현재인 것은 아닙니다.

호출 뷰의 현재 호출 아래 수준에는 현재 호출에서 실행된 호출 목록과 현재 호출에 연결된 IntelliTrace 이벤트가 표시됩니다.

현재 호출에서 다른 호출로 이동하려면

  • 현재 호출의 아래 수준으로 표시된 호출 목록에서 탐색할 호출을 두 번 클릭합니다.

    호출 뷰가 업데이트되어 이제 두 번 클릭한 호출이 현재 호출로 표시됩니다. 소스 창, 명령 포인터 및 디버거 창도 업데이트되어 새 현재 호출에 대한 응용 프로그램 상태를 보여 줍니다.

현재 호출 내에서 호출 사이트로 이동하려면

  • 현재 호출의 아래 수준으로 표시된 호출 목록에서 현재 호출 아래에 나타나는 호출을 클릭합니다.

    호출을 두 번 클릭하지 마십시오. 두 번 클릭하면 호출 사이트가 아니라 해당 호출로 이동하게 됩니다.

    소스 창에서 명령 포인터가 호출 사이트로 이동합니다. 여전히 동일한 호출 내에 있으므로 호출 스택 창은 변경되지 않습니다.

현재 호출 내에서 IntelliTrace 이벤트로 이동하려면

  • 현재 호출 아래에 나타나는 IntelliTrace 이벤트를 클릭합니다.

    소스 창에서 명령 포인터가 호출 사이트로 이동합니다.

탐색 여백

탐색 여백은 옵션 대화 상자에서 IntelliTrace 이벤트 및 호출 정보를 사용하도록 설정한 경우에만 사용할 수 있습니다. 탐색 여백은 소스 창 옆에서 일반 여백과 표준 디버깅 여백 사이에 나타납니다. 표준 디버깅 여백은 현재 명령 포인터 및 중단점 아이콘이 나타나는 세로 스트립입니다.

탐색 여백은 라이브 디버깅과 IntelliTrace를 사용한 디버깅 모두에서 사용할 수 있습니다. 탐색 여백의 색은 현재 모드를 나타내도록 변경됩니다. 라이브 디버깅의 기본 색은 연한 회색입니다. IntelliTrace를 사용하여 디버깅할 때의 기본 색은 진한 회색입니다.

탐색 여백은 기본적으로 표시됩니다. 하지만 메서드 및 매개 변수가 수집되지 않은 경우, IntelliTrace가 해제된 경우, 또는 사용자가 옵션 대화 상자에서 IntelliTrace를 사용하지 않도록 설정한 경우에는 탐색 여백이 표시되지 않습니다. 탐색 여백이 해제된 경우 이를 다시 설정하려면 방법: 탐색 여백을 사용하거나 사용하지 않도록 설정을 참조하십시오.

탐색 여백

탐색 여백에는 앞의 그림에 표시된 것과 같이 다음과 같은 탐색 아이콘이 들어 있습니다. 호출 사이트로 돌아가기들어가기는 서로 반대되는 기능을 하는 같은 종류의 명령이며, 이전 이벤트로 이동다음 이벤트로 이동도 마찬가지입니다.

  • 호출 사이트로 돌아가기 - 명령 포인터와 디버깅 컨텍스트를 시간상 뒤로 진행하여 현재 함수 또는 메서드가 호출된 시점으로 이동합니다. 라이브 디버깅 모드에서 작업하고 있는 경우 이 명령을 사용하면 IntelliTrace를 사용한 디버깅이 시작됩니다.

  • 들어가기 - 명령 포인터와 디버깅 컨텍스트를 시간상 앞으로 진행하여 현재 강조 표시된 함수로 이동합니다. 이 명령은 IntelliTrace를 사용하여 디버깅 중일 때만 사용할 수 있습니다. 들어가기호출 사이트로 돌아가기는 서로 반대 방향으로 이동합니다.

  • 이전 호출 또는 IntelliTrace 이벤트로 이동 - 명령 포인터와 디버깅 컨텍스트를 시간상 뒤로 진행하여 마지막 호출 또는 이벤트로 이동합니다. 라이브 디버깅 모드에서 작업하고 있는 경우 이 명령을 사용하면 IntelliTrace를 사용한 디버깅이 시작됩니다.

  • 다음 호출 또는 IntelliTrace 이벤트로 이동 - 명령 포인터와 디버깅 컨텍스트를 시간상 앞으로 진행하여 IntelliTrace 데이터가 있는 다음 호출 또는 이벤트로 이동합니다. 이 명령은 IntelliTrace를 사용하여 디버깅 중일 때만 사용할 수 있습니다.

  • 라이브 모드로 이동 - IntelliTrace를 사용한 디버깅을 시작한 라이브 디버깅 시점으로 되돌립니다.

  • 여기에 디버거 컨텍스트 설정 - 현재 호출 스택의 각 프레임에 나타납니다. 이 단추를 클릭하면 디버깅 컨텍스트는 이 단추가 나타난 호출 프레임으로 설정됩니다.

디버거 컨텍스트 설정만 제외하고 이러한 아이콘은 모두 디버그 메뉴 아래에 중첩된 IntelliTrace 메뉴나 IntelliTrace 도구 모음(이 도구 모음을 표시하도록 선택한 경우)에서도 액세스할 수 있습니다. 디버거 컨텍스트 설정은 탐색 여백에만 나타납니다.

IntelliTrace 기록 검색

IntelliTrace 이벤트 및 호출 정보를 사용하도록 설정한 경우 IntelliTrace를 통해 기록된 모든 호출 인스턴스를 검색할 수 있습니다. 원하는 인스턴스를 찾으면 IntelliTrace 컨텍스트를 해당 호출과 동기화한 다음, IntelliTrace 창과 일반적인 디버거 창을 사용하여 해당 호출 인스턴스 동안의 응용 프로그램 상태를 관찰할 수 있습니다.

호출 인스턴스를 검색하는 방법에는 두 가지가 있습니다. 한 가지 방법은 호출이 수행된 소스 코드 줄을 클릭하는 것이고, 다른 방법은 호출되는 메서드 또는 함수의 본문 내부를 클릭하는 것입니다.

호출 인스턴스를 찾으려면

  1. 소스 코드 창에서 다음 중 하나를 수행합니다.

    • 호출이 수행된 코드 줄에서 해당 호출을 마우스 오른쪽 단추로 클릭한 다음 IntelliTrace에서 이 줄 검색을 클릭합니다.

    • 메서드 또는 함수 본문의 내부를 마우스 오른쪽 단추로 클릭한 다음 IntelliTrace에서 이 메서드 검색을 클릭합니다.

    다음 그림과 같이 소스 창 맨 위의 가로 여백에 검색 결과가 표시됩니다. 검색 결과는 IntelliTrace에서 검색을 통해 찾은 인스턴스 수를 나타냅니다.

  2. 검색 결과 여백에서 다음 결과로 이동, 마지막 결과로 이동, 이전 결과로 이동 또는 첫 번째 결과로 이동을 클릭하여 결과를 탐색합니다.

    검색 결과 여백에서 호출 인스턴스로 이동하면 IntelliTrace 창의 호출 뷰가 해당 호출 인스턴스와 자동으로 동기화됩니다.

검색할 때는 다음과 같은 몇 가지 제한 사항이 있으므로 주의해야 합니다.

  • IntelliTrace에서 이 메서드 검색은 메서드가 포함된 프로젝트 파일이 Visual Studio에서 열려 있는 경우에만 사용할 수 있습니다.

  • IntelliTrace에서 이 줄 검색은 해당 줄에서 메서드가 종료되는 경우 정확한 결과를 반환하지 않습니다.

참고 항목

작업

방법: 탐색 여백을 사용하거나 사용하지 않도록 설정

개념

IntelliTrace 정보 수집

IntelliTrace를 사용하여 더 빠르게 코드 디버깅

IntelliTrace를 사용하여 재현할 수 없는 오류 디버깅