IntelliTrace 로그(.iTrace) 파일에서 디버깅을 시작할 때 애플리케이션 실행의 특정 지점으로 이동합니다. 이 파일에는 앱이 실행되는 동안 IntelliTrace에서 기록하는 성능 이벤트, 예외, 스레드, 테스트 단계, 모듈 및 기타 시스템 정보가 포함될 수 있습니다.
다음을 확인합니다.
애플리케이션 코드에 대한 원본 파일 및 기호(.pdb) 파일 일치 그렇지 않으면 Visual Studio에서 원본 위치를 확인할 수 없으며 "기호를 찾을 수 없습니다."라는 메시지가 표시됩니다. 배포 후 기호(.pdb) 및 소스 파일 지정 및 문제 진단을 참조하세요.
개발용 컴퓨터나 다른 컴퓨터에서 .iTrace 파일을 열려면 Visual Studio Enterprise(Professional 또는 Community Edition은 사용할 수 없음)가 필요합니다.
다음 원본 중 하나의 .iTrace 파일:
출처 참조 Visual Studio Enterprise의 IntelliTrace 세션(Professional 또는 Community Edition은 아님) IntelliTrace 기능 배포에서 실행되는 ASP.NET 웹앱 및 SharePoint 애플리케이션용 Microsoft Monitoring Agent(단독으로 또는 System Center 2012 R2 Operations Manager 사용) - 배포 후 문제 진단
- System Center 2012 R2 Operations Manager의 새로운 기능
무엇을 하고 싶으세요?
IntelliTrace 로그 열기
Visual Studio Enterprise가 있는 컴퓨터에서 .iTrace 파일을 엽니다.
Visual Studio 외부에서 .iTrace 파일을 두 번 클릭하거나 Visual Studio 내부에서 파일을 엽니다.
- 또는 -
.iTrace 파일이 Team Foundation Server 작업 항목에 연결된 경우 작업 항목에서 다음 단계를 수행합니다.
모든 링크에서 .iTrace 파일을 찾습니다. 그것을 여세요.
- 또는 -
재현 단계에서 IntelliTrace 링크를 선택합니다.
팁 (조언)
디버깅하는 동안 IntelliTrace 파일을 닫은 경우 쉽게 다시 열 수 있습니다. 디버그 메뉴로 이동하여 IntelliTrace, 로그 요약 표시를 선택합니다. IntelliTrace 창에서 로그 요약 표시를 선택할 수도 있습니다. IntelliTrace를 사용하여 디버깅하는 동안에만 사용할 수 있습니다.
IntelliTrace 로그 이해
.iTrace 파일의 다음 섹션 중 일부는 특정 원본(예: SharePoint 애플리케이션)에서 데이터를 수집한 경우에만 표시됩니다.
| 절 | 포함 | 컬렉션 원본 |
|---|---|---|
| 성능 위반 | 구성된 임계값을 초과하는 함수 호출이 있는 성능 이벤트 | 독립 실행형 수집기 또는 IIS에서 호스트되는 ASP.NET 웹앱용 System Center 2012 R2 Operations Manager를 사용하는 Microsoft Monitoring Agent |
| 예외 데이터 | 예외( 각 예외에 대한 전체 호출 스택 포함) | 모든 원본 |
| 분석 | SharePoint 2010 및 SharePoint 2013 애플리케이션에만 해당합니다. 디버거 이벤트, ULS 이벤트, 처리되지 않은 예외 및 Microsoft Monitoring Agent가 기록한 기타 데이터와 같은 IntelliTrace 및 SharePoint 이벤트를 진단합니다. | 독립 실행형 수집기 또는 System Center 2012 R2 Operations Manager를 사용하는 Microsoft Monitoring Agent |
| 시스템 정보 | 호스트 시스템의 설정 및 사양 | 모든 원본 |
| 스레드 목록 | 컬렉션 중에 실행된 스레드 | 모든 원본 |
| 모듈 | 대상 프로세스가 로드한 순서대로 로드된 모듈입니다. | 모든 원본 |
| 웹 요청 | 프로덕션 IIS 웹 애플리케이션 및 SharePoint 2010 및 SharePoint 2013에 대한 웹 요청 데이터 | Microsoft Monitoring Agent 및 독립 실행형 수집기 |
각 섹션에서 정보를 찾는 데 도움이 되는 몇 가지 팁은 다음과 같습니다.
열 머리글을 선택하여 데이터를 정렬합니다.
검색 상자를 사용하여 데이터를 필터링합니다. 일반 텍스트 검색은 시간 열을 제외한 모든 열에서 작동합니다. 열당 하나의 필터를 사용하여 특정 열에 대한 검색을 필터링할 수도 있습니다. 열 이름을 공백 없이 입력하고, 콜론(:) 및 검색 값을 입력하세요. 세미콜론(;)을 사용하여 다른 열 및 검색 값을 추가합니다.
예를 들어 설명 열에서 "slow"라는 단어가 있는 성능 이벤트를 찾으려면 다음을 입력합니다.
Description:slow
IntelliTrace 로그에서 디버깅 시작
성능 위반
앱에 대해 기록된 성능 이벤트를 검토합니다. 자주 발생하지 않는 이벤트를 숨길 수 있습니다.
성능 이벤트에서 디버깅을 시작하려면
성능 위반에서 기록된 성능 이벤트, 총 실행 시간 및 기타 이벤트 정보를 검토합니다. 그런 다음 특정 성능 이벤트 중에 호출된 메서드를 자세히 살펴봅니다.
보기이벤트를 두 번 클릭할 수도 있습니다.
이벤트 페이지에서 이러한 호출에 대한 실행 시간을 검토합니다. 실행 트리에서 느린 호출을 찾습니다.
가장 느린 호출은 여러 개의 호출이 있을 때, 중첩 여부와 상관없이 자체 섹션에 나타납니다.
해당 호출을 확장하여 해당 시점에 기록된 중첩된 호출 및 매개 변수 값을 검토합니다.
(키보드: 중첩된 호출을 표시하거나 숨기려면 오른쪽 화살표 또는 왼쪽 화살표 키를 각각 누릅니다. 중첩된 호출에 대한 매개 변수 값을 표시하고 숨기려면 Space 키를 누릅니다.)
호출에서 디버깅을 시작합니다.
통화를 두 번 클릭하거나 Enter 키를 누를 수도 있습니다.
메서드가 애플리케이션 코드에 있는 경우 Visual Studio는 해당 메서드로 이동합니다.
이제 기록된 다른 값, 호출 스택을 검토하거나, 코드를 단계별로 실행하거나, IntelliTrace 창을 사용하여 이 성능 이벤트 중에 호출된 다른 메서드 간에 "시간"으로 이동하거나 앞으로 이동할 수 있습니다.
예외 데이터
앱에 대해 throw되고 기록된 예외를 검토하세요. 유형과 호출 스택이 동일한 예외를 그룹화하여 가장 최근의 예외만 표시되도록 할 수 있습니다.
예외에서 디버깅을 시작하려면
예외 데이터에서 기록된 예외 이벤트, 해당 형식, 메시지 및 예외가 발생한 시기를 검토합니다. 코드를 자세히 알아보려면 예외 그룹의 가장 최근 이벤트에서 디버깅을 시작합니다.
이벤트를 두 번 클릭할 수도 있습니다. 이벤트가 그룹화되지 않은 경우 이 이벤트 디버그를 선택합니다.
애플리케이션 코드에서 예외가 발생한 경우 Visual Studio는 예외가 발생한 위치로 이동합니다.
이제 기록된 다른 값, 호출 스택을 검토하거나 IntelliTrace 창을 사용하여 기록된 다른 이벤트, 관련 코드 및 해당 시점에 기록 된 값 간에 "시간"으로 뒤로 또는 앞으로 이동할 수 있습니다.
열 을 표시합니다. 유형 예외의 .NET 형식 그룹화된 예외에 대한 최신 메시지 또는 그룹화되지 않은 예외에 대한 메시지 예외에서 제공하는 메시지 그룹화된 예외 수 예외가 발생한 횟수입니다. 그룹화되지 않은 예외에 대한 스레드 ID 예외를 throw한 스레드의 ID 최신 이벤트 시간 또는 이벤트 시간 예외가 발생했을 때 기록한 타임스탬프입니다. 호출 스택 예외에 대한 호출 스택입니다.
호출 스택을 보려면 목록에서 예외를 선택합니다. 호출 스택이 예외 목록 아래에 나타납니다.
분석
SharePoint 상관 관계 ID를 사용하여 SharePoint 2010 및 SharePoint 2013 응용 프로그램의 문제를 진단하거나 Microsoft Monitoring Agent에서 발견한 처리되지 않은 예외를 검토합니다.
SharePoint 상관 관계 ID를 사용하여 일치하는 웹 요청 및 이벤트를 찾습니다. 이벤트를 선택한 다음 이벤트가 발생한 지점과 시기에 디버깅을 시작합니다.
Microsoft Monitoring Agent에서 처리되지 않은 예외를 발견한 경우 예외를 선택한 다음 예외가 발생한 위치와 시기에 디버깅을 시작합니다.
SharePoint 상관 관계 ID를 사용하여 디버깅 시작
원본에서 SharePoint 상관 관계 ID를 복사합니다.
다음은 그 예입니다.
.iTrace 파일을 연 다음 Analysis 로 이동하여 SharePoint 상관 관계 ID를 입력하여 일치하는 웹 요청 및 기록된 이벤트를 검토합니다.
요청 이벤트에서 이벤트를 검사합니다. 맨 위에서 시작하여 이벤트가 발생한 순서대로 표시됩니다.
이벤트를 선택하여 세부 정보를 확인합니다.
디버깅 시작을 선택하여 이벤트가 발생한 지점에서 디버깅을 시작합니다.
IntelliTrace 이벤트와 함께 이러한 종류의 SharePoint 이벤트를 볼 수 있습니다.
사용자 프로필 이벤트
이러한 이벤트는 SharePoint에서 사용자 프로필을 로드하고 사용자 프로필 속성을 읽거나 변경할 때 발생합니다.
ULS(통합 로깅 시스템) 이벤트
Microsoft Monitoring Agent는 SharePoint ULS 이벤트 및 다음 필드의 하위 집합을 기록합니다.
IntelliTrace 필드 SharePoint ULS 필드 아이디 EventID 수준 수준 범주 ID 범주 ID 범주 범주 영역 제품 출력 Message 상관 관계 ID 상관 관계 ID
처리되지 않은 예외에서 디버깅 시작
예외에 대한 SharePoint 상관 관계 ID를 선택합니다. 예외는 유형 및 호출 스택별로 그룹화됩니다.
(선택 사항) 호출 스택 을 확장하여 예외 그룹에 대한 호출 스택을 확인합니다.
예외가 발생한 시점과 시점에 디버깅을 시작하려면 예외 디버그 를 선택합니다.
연습은 연습: IntelliTrace를 사용하여 SharePoint 애플리케이션 디버깅을 참조하세요. 에이전트가 기록하는 데이터의 종류는 IntelliTrace 기능을 참조하세요.
스레드 목록
대상 프로세스에서 실행된 기록된 스레드를 검사합니다. 선택한 스레드에서 유효한 첫 번째 IntelliTrace 이벤트에서 디버깅을 시작할 수 있습니다.
특정 스레드에서 디버깅을 시작하려면
스레드 목록에서 스레드를 선택합니다.
스레드 목록 아래쪽에서 디버깅 시작을 선택합니다. 스레드를 두 번 클릭할 수도 있습니다.
앱이 시작되는 위치에서 디버깅을 시작하려면 주 스레드를 두 번 클릭합니다. IntelliTrace 기능을 참조하세요.
사용자가 만드는 스레드 데이터는 서버가 IIS 호스팅 웹앱에 대해 만들고 관리하는 스레드보다 더 유용할 수 있습니다.
| 열 | 을 표시합니다. |
|---|---|
| 아이디 | 스레드 ID 번호 |
| 이름 | 스레드 이름입니다. 명명되지 않은 스레드는 "<이름> 없음"으로 표시됩니다. |
| 시작 시간 | 스레드가 만들어진 시간 |
| 종료 시간 | 스레드가 완료된 시간 |
특정 테스트 단계에서 디버깅을 시작하려면
테스트 단계 그리드를 확장합니다. 테스트 단계를 선택합니다.
테스트 단계 표 아래쪽에서 디버깅 시작을 선택합니다. 테스트 단계를 두 번 클릭할 수도 있습니다.
그러면 선택한 테스트 단계 후 첫 번째 유효한 IntelliTrace 이벤트에서 디버깅이 시작됩니다.
테스트 데이터가 있는 경우 IntelliTrace는 테스트 실행을 수행하는 데 사용된 연결된 Team Foundation Server 빌드를 확인하려고 합니다. 빌드가 발견되면 앱에 연결된 기호가 자동으로 확인됩니다.
| 분야 | 을 표시합니다. |
|---|---|
| 테스트 세션 | 기록된 테스트 세션입니다. 일반적으로 하나만 있습니다. 수동 예비 테스트를 사용하여 테스트 데이터를 만든 경우 이 목록은 비어 있습니다. |
| 테스트 사례 | 선택한 테스트 세션의 테스트 사례입니다. 수동 예비 테스트를 사용하여 테스트 데이터를 만든 경우 이 목록은 비어 있습니다. |
| 테스트 단계 표 | 통과 또는 실패의 테스트 결과로 기록된 테스트 단계 |
시스템 정보
이 섹션에서는 하드웨어, 운영 체제, 환경 및 프로세스 관련 정보 등 앱을 호스트한 시스템에 대한 세부 정보를 보여 갖습니다.
모듈
이 섹션에서는 대상 프로세스가 로드한 모듈을 보여 줍니다. 모듈은 로드된 순서대로 표시됩니다.
| 열 | 을 표시합니다. |
|---|---|
| 모듈 이름 | 모듈 파일 이름 |
| 모듈 경로 | 모듈이 로드된 디스크 위치 |
| 모듈 ID | 버전별 모듈의 고유 식별자이며 일치하는 기호(PDB) 파일에 기여합니다. 기호(.pdb) 파일 및 원본 파일 찾기를 참조하세요. |