다음을 통해 공유


IntelliTrace와 호출 정보

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

기본적으로 IntelliTrace에서는 지정된 IntelliTrace 이벤트에 대한 정보를 수집합니다. 응용 프로그램이 중단 모드로 들어가면 IntelliTrace 창의 IntelliTrace 이벤트 뷰를 사용하여 수집된 이벤트를 볼 수 있습니다. IntelliTrace 이벤트 뷰를 사용하여 예외나 .NET Framework 이벤트 같은 파일 열기 이벤트에 대한 IntelliTrace 정보를 찾을 수 있습니다.

때로는 IntelliTrace 이벤트 뷰에서 제공하는 것보다 더 많은 정보가 필요할 수도 있습니다. 보다 자세한 정보가 필요한 경우 IntelliTrace 이벤트뿐 아니라 호출 정보도 수집할 수 있습니다. 호출 정보에는 호출되는 함수, 메서드 또는 프로시저의 이름, 전달된 매개 변수 및 다시 전달된 반환 값이 포함됩니다.

호출 정보를 수집하면 IntelliTrace 이벤트를 수집할 때보다 성능 오버헤드가 커집니다. 또한 호출 정보를 수집하면 수집된 디버그 기록 정보를 하드 디스크에 저장하는 로그 파일의 크기가 커집니다. IntelliTrace 이벤트만 수집할 때는 응용 프로그램의 속도가 느려지는 것을 거의 알아차릴 수 없지만 호출 정보를 수집할 때는 속도가 약간 느려지는 것을 분명히 알 수 있습니다. 이 속도 저하를 최소화하려면 관심 있는 모듈에 대한 호출 정보만 수집하고 다른 모듈은 무시합니다.

호출 정보 수집

IntelliTrace 호출 정보를 보려면 디버그 세션이 시작될 때부터 호출 정보를 수집하기 시작해야 합니다. 디버그 세션 중 호출 정보를 수집하도록 설정할 경우 디버그 세션을 다시 시작해야 변경 내용이 적용됩니다.

호출 정보를 수집하도록 IntelliTrace를 구성하려면

  1. 도구 메뉴에서 옵션을 클릭합니다.

  2. 옵션 대화 상자에서 IntelliTrace를 클릭합니다.

  3. IntelliTrace 사용에서 IntelliTrace 이벤트 및 호출 정보를 클릭합니다.

    다음 디버그 세션이 시작될 때까지 이 변경 내용이 적용되지 않는다는 경고가 나타납니다.

  4. IntelliTrace 수집 대상을 관심 있는 모듈로만 제한할 수 있습니다. 이 단계는 선택적이지만 성능을 향상시키고 추적 디버깅 로그 파일의 크기를 최소화하는 데 유용합니다.

    1. IntelliTrace 노드에서 모듈을 클릭합니다.

    2. 모듈 페이지에서 다음을 제외한 모든 모듈에서 데이터 수집 또는 다음 모듈에서만 데이터 수집을 클릭합니다.

    3. 목록에서 모듈을 제거하려면 모듈 이름을 강조 표시하고 제거를 클릭합니다.

    4. 목록에 모듈을 추가하려면 모듈 이름을 강조 표시하고 추가를 클릭한 다음 패턴 추가 대화 상자에서 모듈 이름을 추가합니다. 여러 개의 모듈을 추가하려면 와일드카드 문자 *를 접두사나 접미사로 사용합니다.

    5. 모듈 목록을 원래의 기본 내용으로 복원하려면 복원을 클릭합니다.

  5. 호출 정보도 수집하면 디스크에 저장되는 추적 디버깅 로그 파일의 크기가 커집니다. 이 시점에서 로그 파일의 최대 크기를 확인할 수 있습니다.

    1. IntelliTrace 노드에서 고급을 클릭합니다.

    2. 현재 설정을 변경하려면 기록할 수 있는 최대 디스크 공간 드롭다운 목록을 클릭합니다.

  6. 확인을 클릭합니다.

호출 정보 보기

IntelliTrace에서 호출 정보를 수집할 때 IntelliTrace 창에서 호출 정보를 볼 수 있습니다. 호출 정보는 호출 뷰에 표시됩니다.

호출 뷰를 표시하려면

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

호출 뷰는 다음과 같이 나타납니다.

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

호출 뷰를 사용하면 계층적으로 호출 및 IntelliTrace 이벤트를 보고 탐색할 수 있습니다.

호출 뷰는 디버거 호출 스택 창과 반대라고 보면 됩니다. 호출 스택 창에서는 현재 호출이 맨 위에 있지만 호출 뷰에서는 맨 아래에 있습니다.

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

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

호출을 클릭하면 해당 호출이 현재 호출이 됩니다. 현재 호출 아래 수준의 IntelliTrace 이벤트 또는 호출 사이트를 클릭하여 해당 이벤트 또는 호출 사이트로 이동할 수도 있습니다. 호출 사이트를 두 번 클릭하면 해당 호출로 이동할 수 있습니다.

자세한 내용은 IntelliTrace를 사용하여 탐색을 참조하십시오.

기타 탐색 도구

IntelliTrace 이벤트 및 호출 정보를 사용하면 호출 뷰 외에 몇 가지 다른 탐색 도구도 사용할 수 있습니다.

  • 탐색 여백은 소스 창에서 일반 여백과 표준 디버깅 여백 사이에 나타납니다. 탐색 여백을 사용하면 호출 사이에서 앞뒤로 이동하거나, 이전 또는 다음의 호출이나 IntelliTrace 이벤트로 이동하거나, 라이브 모드로 돌아가거나, 호출 프레임의 디버깅 컨텍스트를 설정할 수 있습니다.

  • IntelliTrace 검색 기능은 소스 창의 바로 가기 메뉴에 나타납니다. 이 기능을 사용하여 특정 호출 인스턴스로 이동할 수 있습니다.

이러한 도구를 사용하는 방법에 대한 자세한 내용은 IntelliTrace를 사용하여 탐색을 참조하십시오.

참고 항목

개념

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

IntelliTrace 정보 수집