Отладка приложения с помощью файлов журнала IntelliTrace (.iTrace)
Можно запустить сеанс отладки IntelliTrace непосредственно из файла журнала IntelliTrace (.iTrace).Этот файл содержит исключения, веб-запросы, потоки, шаги теста, модули и другие системные сведения, которые фиксирует IntelliTrace во время работы приложения.
Наблюдение IntelliTrace в действии:
Сбор и анализ данных IntelliTrace в рабочей среде для отладки (Видео канала Channel 9)
Разработка, тестирование и производственная отладка для SharePoint (Видео канала Channel 9)
Требования
ITRACE-файл из одного из следующих источников:
Сеанс IntelliTrace в Visual Studio Ultimate.Дополнительные сведения см. в разделе Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio.
Тестовый сеанс в Microsoft Test Manager.Это присоединяет ITRACE-файл к рабочему элементу Team Foundation Server.Дополнительные сведения см. в разделе Практическое руководство. Сбор данных IntelliTrace для отладки сложных проблем.
Автономный сборщик для приложений, выполняемых вне Visual Studio.Дополнительные сведения см. в разделе Сбор данных IntelliTrace из-за пределов среды Visual Studio с использованием автономного сборщика.
Visual Studio 2012.1: приложения, контролируемые Пакетом обновления 1 (SP1) System Center 2012 — Operations Manager с профилирующим пакетом управления IntelliTrace.См. раздел Как настроить интеграцию с IntelliTrace в System Center 2012.
Наличие Visual Studio Ultimate на компьютере разработчика или на другом компьютере для открытия ITRACE-файлов
Примечание Для отладки с помощью IntelliTrace и пошагового выполнения кода нужно иметь соответствующие файлы исходного кода и файлы символов.Убедитесь, что файлы символов указаны в пути к символам Visual Studio.В противном случае Visual Studio не удастся разрешить исходные местоположения, отобразится сообщение "Символы не найдены". Дополнительные сведения см. в разделе Поиск файлов символов (.pdb), исходного кода и двоичных файлов.
Выполняемые задачи
Открытие файла журнала IntelliTrace
Чтение файла журнала IntelliTrace
Запуск отладки из файла журнала IntelliTrace
Открытие файла журнала IntelliTrace
Откройте ITRACE-файл на компьютере с Visual Studio Ultimate.
Дважды щелкните ITRACE-файл вне Visual Studio или откройте файл внутри Visual Studio.
- или -
Если ITRACE-файл присоединен к рабочему элементу Team Foundation Server, выполните следующие шаги в рабочем элементе.
В разделе Все ссылки найдите файл .iTrace.Откройте его.
- или -
В разделе Шаги для воспроизведения выберите ссылку IntelliTrace.
Совет |
---|
Если ITRACE-файл был закрыт во время отладки, его легко можно отрыть повторно.В меню Отладка выберите IntelliTrace, Показать сводку журнала.Можно также выбрать Показать сводку журнала в окне IntelliTrace.Эта команда доступна только при отладке с помощью IntelliTrace. |
Чтение файла журнала IntelliTrace
Некоторые из следующих разделов в ITRACE-файле отображаются только в том случае, если данные собраны из определенного источника, например Test Manager или приложений SharePoint 2010 с автономным сборщиком.
Раздел |
Содержание |
Источник сборки (Visual Studio Ultimate, Test Manager, автономный сборщик) |
---|---|---|
Анализ |
Только для приложений SharePoint 2010.Этот раздел позволяет просматривать события IntelliTrace и SharePoint, например события отладчика, события ULS, исключения и другие данные, зафиксированные сборщиком. |
Автономный сборщик для Visual Studio 2012.1 |
Список потоков |
Потоки, которые выполнялись во время сборки |
Все источники |
Веб-запросы |
Веб-запросы, отправленные в пул приложений IIS.Эти данные схожи с данными собранными в файлах журнала IIS W3c. |
Автономный сборщик: только размещенные в IIS веб-приложения |
Данные об исключениях |
Исключения, которые были созданы приложением во время сборки, включая полный стек вызовов для каждого исключения |
Все источники |
Тестовые данные |
Шаги теста и их результаты из сеанса теста |
Test Manager |
Сведения о системе |
Параметры и спецификации системы размещения |
Все источники |
Модули |
Модули, загруженные в ходе сборки |
Все источники |
Запуск отладки из файла журнала IntelliTrace
В большинстве разделов можно просматривать события и другие элементы, выбрать элемент, а затем выбрать Начать отладку.Это позволяет запустить сеанс отладки IntelliTrace в точке наступления события.
Совет |
---|
Для сортировки данных выберите заголовки столбцов.Для фильтрации данных используйте поле поиска.Поиск в виде обычного текста работает во всех столбцах, за исключением столбцов времени.В разделе Веб-запросы также можно отфильтровать поиск определенному столбцу. |
Анализ
Этот раздел появляется для приложений SharePoint 2010, только если данные были зафиксированы сборщиков в Visual Studio 2012.1.Дополнительные сведения см. в разделе Сбор данных IntelliTrace из-за пределов среды Visual Studio с использованием автономного сборщика.
Этот раздел позволяет выполнять следующие задачи:
Используйте идентификатор корреляции SharePoint для поиска соответствующего ему веб-запросу или событию.Можно выбрать событие и затем запустить отладку в точке наступления события.
Просмотрите все необработанные исключения, которые нашел сборщик.Можно выбрать исключение и затем запустить отладку в точке наступления исключения.
Примечание |
---|
Если появится сообщение "Символы не обнаружены", Visual Studio не может разрешить исходные расположения.Убедитесь, что файлы символов (.pdb) приложения указаны в пути к символам Visual Studio.Дополнительные сведения см. в разделе Поиск файлов символов (.pdb), исходного кода и двоичных файлов. |
Запуск отладки с идентификатором корреляции SharePoint
Скопируйте идентификатор корреляции SharePoint из его источника.
Например:
В ITRACE-файле, в Анализ, можно ввести идентификатор корреляции SharePoint.Это позволяет найти соответствующий запрос и просмотреть его зафиксированные события.
В События запроса просмотрите события.События отображаются сверху вниз в порядке, в котором они возникли.
Выберите событие для просмотра сведений о нем.
Выберите Начать отладку, чтобы начать отладку в точке, где произошло событие.
Можно просмотреть эти типы событий SharePoint вместе с событиями IntelliTrace:
События профиля пользователя
Эти события происходят при загрузке SharePoint профиля пользователя, а также при считывании или изменении свойств профиля пользователя.
События унифицированной системы ведения журнала (ULS)
Автономный сборщик фиксирует подмножество событий SharePoint ULS и этих полей:
Поле IntelliTrace
Поле SharePoint ULS
Id
EventID
Level
Level
Идентификатор категории
Идентификатор категории
Category
Category
Area
Product
Output
Message
Идентификатор корреляции
Идентификатор корреляции
Запуск отладки из необработанного исключения
Выберите идентификатор корреляции SharePoint для исключения.Исключения группируются по типу и стеку вызовов.
(Необязательно) Разверните узел Стек вызовов, чтобы просмотреть стек вызова для группы исключений.
Выберите Отладка исключения, чтобы начать отладку в точке наступления события.
Пошаговое руководство см. в разделе Пошаговое руководство. Отладка приложения SharePoint при помощи IntelliTrace.Типы данных записей сборщика см. в разделе Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio.
Список потоков
В этом подразделе показаны зафиксированные потоки, которые работали в целевом процессе.Можно начать отладку с первого допустимого события IntelliTrace в выделенном потоке.
Запуск отладки из конкретного потока
В разделе Список потоков выберите поток.
В нижней части раздела Список потоков выберите Начать отладку.Можно также дважды щелкнуть поток.
Чтобы запустить отладку из места начала приложения, дважды щелкните Основной поток.Дополнительные сведения см. в разделе Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio.
Данные потока, созданного пользователем, могут быть более полезными, чем потоки, которые созданы сервером и управляются для размещенных в IIS веб-приложений.
Столбец |
Отображает |
---|---|
Идентификатор |
Идентификатор потока |
Имя |
Имя потока.Безымянные потоки отображаются как "<Без имени>". |
Время начала |
Время создания потока |
Время окончания |
Время завершения выполнения потока |
Веб-запросы
В этом подразделе показаны зафиксированные веб-запросы, отправленные в пул приложений IIS.Можно выбрать веб-запрос для просмотра событий, зафиксированных для этого запроса.Затем можно начать отладку из указанного события.
По умолчанию веб-запросы отображаются сверху вниз в том порядке, в котором они поступают на сервер.
Просмотр событий, зафиксированных для указанного веб-запроса
В разделе Веб-запросы выберите веб-запрос.
В нижней части раздела Веб-запросы выберите Сведения о запросе.Можно также дважды кликнуть на веб-запрос.
Страница Сведения о запросе откроется для выбранного веб-запроса и отобразит ряд событий IntelliTrace, зафиксированных для этого запроса.События отображаются сверху вниз в порядке, в котором они возникли.Отфильтруйте события, выбрав нужную категорию из списка категорий или с помощью поля поиска.Дополнительные сведения см. в разделе Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio.
Совет Страница Запросить сведения откроется на вкладке предварительного просмотра.При выборе другого веб-запроса эта вкладка будет заменена новой страницей Запросить сведения.Чтобы сохранить вкладку предварительного просмотра, выберите Повысить уровень на вкладке.Следующий веб-запрос будет открыт в новой вкладке предварительного просмотра.
Запуск отладки из конкретного события
В разделе События запроса выберите событие.
Внизу раздела События запроса выберите Начать отладку.Можно также дважды щелкнуть событие.
Совет Если ITRACE-файл содержит сведения о вызове функции, можно выполнить код пошагово, начиная с расположения события.Можно также просмотреть параметры и возвращаемые значения.
Сбор сведений о вызовах:
В Visual Studio Ultimate настройте IntelliTrace для сборки информации о вызовах.Дополнительные сведения см. в разделе Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio.
Для автономного сборщика IntelliTrace используйте план сборки collection_plan.ASP.NET.trace.xml или пользовательский план сборки.Дополнительные сведения см. в разделе Сбор данных IntelliTrace из-за пределов среды Visual Studio с использованием автономного сборщика.
Если появится сообщение "Символы не обнаружены", Visual Studio не может разрешить исходные расположения.Убедитесь, что файлы символов (.pdb) веб-приложения указаны в пути к символам Visual Studio.Дополнительные сведения см. в разделе Поиск файлов символов (.pdb), исходного кода и двоичных файлов.
Столбец |
Отображает |
---|---|
Метод |
Метод HTTP, отправленный с запросом |
Конечный URL |
Целевой URL-адрес, отправленный вместе с запросом |
Затраченное время (мс) |
Время в миллисекундах между получением запроса сервером и отправкой результата с сервера |
Состояние |
Код состояния HTTP, возвращаемый в качестве результата |
Идентификатор сеанса |
Идентификатор сеанса, используемый IIS для различения пользователей. Значение Идентификатор сеанса — это всего лишь растущее целое число, используемое для различения пользователей сеансов и не связанное с понятием SessionID для ASP.NET.Поэтому веб-запросы, которые имеют один и тот же Идентификатор сеанса принадлежат к одному сеансу пользователя. |
IP-адрес клиента |
IP-адрес, записанный IIS для отправленного запроса |
Агент пользователя |
Значение строки агента пользователя, отправленной с HTTP-запросом |
Время начала |
Время получения запроса сервером |
Время окончания |
Время ответа сервера клиенту. |
Чтобы просмотреть данные с точки зрения пользователя, отфильтруйте и сгруппируйте веб-запросы.Например:
Поиск сбоев, запросов на фильтрацию по параметру Состояние.
Определение тенденций или поведения пользователей, а также ошибок группы по параметру Конечный URL-адрес или Идентификатор сеанса.
Поиски также можно фильтровать по определенному столбцу.Введите имя столбца без пробелов, двоеточия и значения поиска.
Например, чтобы найти веб-запросы, в которых используется метод GET с определенным идентификатором сеанса, введите:
Method:GET;SessionId:2
Можно использовать один фильтр на столбец.Чтобы увидеть, какие столбцы можно фильтровать, прочитайте подсказку поля поиска Веб-запросы.
Данные об исключениях
Этот раздел позволяет просматривать зафиксированные исключения, которые были вызваны приложением.По умолчанию последние исключения отображается в верхней части, поскольку исключения отсортированы по параметру Время события в убывающем порядке.
Запуск отладки из конкретного исключения
В разделе Данные исключения выберите исключение.
Внизу раздела Данные исключения выберите Начать отладку.Можно также дважды щелкнуть исключение.
Запустится отладка в то время, когда было вызвано исключение.
Совет |
---|
Найдите несколько исключений, которые имеют одно и то же значение параметров Тип и Идентификатор потока и отображаются последовательно.Часто это возникает, когда одно исключение создано, перехвачено, а затем создано повторно. Чтобы узнать, в этом ли дело, выберите каждое из этих исключений и просмотрите стек вызовов.Определите, увеличивается или уменьшается ли стек вызовов.Если более короткий стек такой же, как начало более длинного стека вызовов и Идентификатор потока совпадает, то, возможно, одно и то же исключение вызывается заново.Исключение с более длинным стеком вызовов, возможно, расположено ближе всего к источнику проблемы. |
Столбец |
Отображает |
---|---|
Тип |
тип исключения .NET |
Сообщение |
Сообщение, передаваемое исключением |
Идентификатор потока |
Идентификатор потока, вызвавшего исключение |
HResult |
Код ошибки, указанный в исключении.Доступно, если это значение было задано в исключении. |
Время события |
Отметка времени, записанная при создании исключения |
Стек вызовов |
Стек вызовов для исключения. Чтобы просмотреть стек вызовов, выберите исключение в списке.Стек вызовов отображается под списком исключений. |
Тестовые данные
Этот раздел дает возможность изучить сведения, собранные диспетчером Test Manager при тестировании вашего приложения.
Запуск отладки из конкретного шага тестирования
Разверните раздел Сетка шагов тестирования.Выберите шаг теста.
Внизу раздела Сетка шагов тестирования выберите Начать отладку.Можно также дважды щелкнуть шаг тестирования
Это запускает отладку из первого допустимого события IntelliTrace после выбранного шага теста.
Если тестовые данные существуют, IntelliTrace пытается разрешить связанное построение Team Foundation Server, которое использовалось для выполнения тестового запуска.Если построение найдено, то связанные символы для приложения разрешаются автоматически.
Поле |
Отображает |
---|---|
Сеанс тестирования |
Записанные сеансы тестирования.Как правило, обычно существует только один такой сеанс.Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную. |
Тестовый случай |
Тестовые случаи из выбранного сеанса тестирования.Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную. |
Сетка шагов теста |
Шаги теста, которые были записаны с результатом тестирования "пройден" или завершились ошибкой |
Сведения о системе
Этот раздел содержит сведения о системе, в которой размещено приложение, например сведения об оборудовании, операционной системе, сведения о среде и процессе.
Модули
В этом разделе перечислены модули, загруженные целевым процессом.Модули отображаются в порядке их загрузки.
Столбец |
Отображает |
---|---|
Имя модуля |
Имя файла модуля |
Путь к модулю |
Расположение на диске, из которого был загружен модуль |
Идентификатор модуля |
Уникальный идентификатор модуля, соответствующий конкретной версии и соответствующий файлам символов (PDB).Дополнительные сведения см. в разделе [УСТАРЕЛО] Практическое руководство. Указание мест расположения символов и поведения загрузки. |
Где можно получить дополнительные сведения?
Сбор данных IntelliTrace из-за пределов среды Visual Studio с использованием автономного сборщика
Запись выполнения кода с помощью IntelliTrace для отладки в Visual Studio
Практическое руководство. Сбор данных IntelliTrace для отладки сложных проблем
Отладка приложения путем записи выполнения кода с помощью IntelliTrace
Блоги
Visual Studio ALM + Team Foundation Server
Форумы
Отладчик Visual Studio (Visual Studio Debugger)
Руководство
Видеоклипы
Канал 9. Сбор и анализ данных IntelliTrace (Channel 9: Collecting and analyzing IntelliTrace data)
Канал 9: Разработка, тестирование и производственная отладка для SharePoint