Поделиться через


Отладка приложения с помощью сохраненных данных IntelliTrace

Переходите к определенным точкам выполнения приложения при запуске отладки из файла журнала IntelliTrace (.iTrace). Этот файл может содержать события, исключения, потоки, шаги теста, модули и другие системные сведения, которые фиксирует IntelliTrace во время работы приложения.

Убедитесь в наличии следующих элементов.

Выберите действие.

  • Открытие журнала IntelliTrace

  • Изучение журнала IntelliTrace

  • Запуск отладки из журнала IntelliTrace

Открытие журнала IntelliTrace

Откройте ITRACE-файл на компьютере с Visual Studio Ultimate.

  • Двойным щелчком откройте ITRACE-файл вне Visual Studio или откройте его из Visual Studio.

    -или-

  • Если ITRACE-файл прикреплен к рабочему элементу Team Foundation Server, выполните следующие действия в рабочем элементе.

    • В разделе Все ссылки найдите ITRACE-файл. Откройте его.

      -или-

    • В разделе Шаги для воспроизведения выберите ссылку IntelliTrace.

Совет

Если файл IntelliTrace был закрыт во время отладки, его можно легко открыть снова.Перейдите в меню Отладка и выберите IntelliTrace, Показать сводку журнала.Можно также выбрать Показать сводку журнала в окне IntelliTrace.Эта команда доступна только при отладке с помощью IntelliTrace.

Изучение журнала IntelliTrace

Некоторые из следующих разделов в ITRACE-файле отображаются только в том случае, если данные собраны из определенного источника, например Test Manager или приложений SharePoint.

Раздел

Содержит

Источник сбора

Нарушения производительности

События производительности с вызовами функций, превышающими заданный порог

Microsoft Monitoring Agent, либо отдельно, либо совместно с System Center 2012 R2 Operations Manager для веб-приложений ASP.NET, размещенных в IIS

Данные исключения

Исключения, включая полный стек вызова для каждого исключения

Все источники

Анализ

Только для приложений SharePoint 2010 и SharePoint 2013. Выполнение диагностики событий IntelliTrace и SharePoint, например событий отладчика, событий ULS, необработанных исключений и других данных, записанных Microsoft Monitoring Agent.

Microsoft Monitoring Agent, либо отдельно, либо совместно с System Center 2012 R2 Operations Manager

Сведения о системе

Параметры и спецификации системы размещения

Все источники

Список потоков

Потоки, которые выполнялись во время сбора

Все источники

Данные теста

Шаги теста и их результаты из сеанса тестирования

Test Manager

Модули

Модули, которые целевой процесс загрузил в порядке их загрузки.

Все источники

Ниже приведены некоторые рекомендации, помогающие найти сведения в каждом разделе.

  • Для сортировки данных нажмите заголовок столбца.

  • Используйте поле поиска для фильтрации данных. Поиск в виде обычного текста работает во всех столбцах за исключением столбцов времени. Можно также фильтровать поиск по конкретным столбцам с применением одного фильтра на столбец. Введите имя столбца без пробелов, с двоеточием (:) и значением для поиска. После него введите точку с запятой (;), чтобы добавить другой столбец и искомое значение.

    Например, для поиска событий производительности, которые содержат слово "медленный" в столбце Описание введите:

    Описание:медленный

Запуск отладки из журнала IntelliTrace

Нарушения производительности

Просмотрите события производительности, записанные для приложения. Можно скрывать события, которые происходят нечасто.

Запуск отладки из события производительности

  1. В области Нарушения производительности просмотрите записанные события производительности, значения их полного времени выполнения и другие данные о событиях. Затем более глубоко проанализируйте методы, вызванные во время конкретного события производительности.

    Просмотр сведений о событии производительности

    Можно также просто открыть событие двойным щелчком.

  2. На странице событий проверьте время исполнения этих вызовов. Найдите медленный вызов в дереве выполнения.

    Самые медленные вызовы отображаются в отдельном разделе, если имеется несколько вызовов, вложенных друг в друга или размещенных иначе.

  3. Разверните этот вызов, чтобы просмотреть все вложенные вызовы и значения параметров, которые были записаны в тот момент времени.

    (Клавиатура: для отображения и сворачивания вложенного вызова нажмите клавишу Стрелка вправо или Стрелка влево, соответственно. Для отображения и скрытия значений параметров для вложенного вызова нажмите клавишу Пробел.)

    Запустите отладку из этого вызова.

    Начало отладки с вызова метода

    Также можно двойным щелчком открыть вызов или нажать клавишу Ввод.

    Если метод находится в коде приложения, Visual Studio перейдет к этому методу.

    Переход к коду приложения из события производительности

    Теперь можно просмотреть другие записанные значения, стек вызова, выполнить пошаговый обход кода или использовать окно IntelliTrace для перемещения вперед или назад "по времени" между другими методами, которые вызывались в ходе этого события производительности.

Данные исключения

Просмотрите исключения, возникшие в приложении и записанные для него. Можно группировать исключения с тем же типом и стеком вызова, чтобы видеть только самое последнее исключение.

Запуск отладки из исключения

  • В области Данные исключения просмотрите записанные события исключения, их типы, сообщения и время возникновения исключений. Чтобы глубже изучить код, начните отладку из последнего события в группе исключений.

    Начало отладки с события исключения

    Можно также просто открыть событие двойным щелчком. Если события не сгруппированы, выберите Отладить это событие.

    Если исключение возникло в коде приложения, Visual Studio переходит туда, где произошло исключение.

    Переход к коду приложения из события исключения

    Теперь можно просмотреть другие записанные значения, стек вызова или использовать окно IntelliTrace для перемещения вперед или назад "по времени" между различными записанными событиями, по связанному с ними коду и значениям, записанным в эти моменты времени.

    Столбец

    Отображает

    Тип

    Тип исключения .NET

    Последнее сообщение для группированных исключений или Сообщение для несгруппированных исключений

    Сообщение, передаваемое исключением

    Число для сгруппированных исключений

    Количество возникновений исключения

    Идентификатор потока для несгруппированных исключений

    Идентификатор потока, вызвавшего исключение

    Последнее время события или Время события

    Отметка времени, записанная при создании исключения

    Стек вызовов

    Стек вызовов для исключения.

    Чтобы просмотреть стек вызовов, выберите исключение в списке. Стек вызовов отображается под списком исключений.

Анализ

Проводите диагностику проблем с приложениями SharePoint 2010 и SharePoint 2013, используя идентификатор корреляции SharePoint, или просматривайте все необработанные исключения, обнаруженные Microsoft Monitoring Agent.

  • Используйте идентификатор корреляции SharePoint для поиска соответствующего ему веб-запроса и событий. Выберите событие и затем запустите отладку в точке и в момент наступления события.

  • Если Microsoft Monitoring Agent обнаружил необработанные исключения, выберите исключение и затем запустите отладку в точке и в момент возникновения исключения.

Запуск отладки с идентификатором корреляции SharePoint

  1. Скопируйте идентификатор корреляции SharePoint из его источника.

    Например:

    IntelliTrace — ошибка SharePoint — корреляционный идентификатор

  2. Откройте ITRACE-файл, затем перейдите в меню Анализ и введите идентификатор корреляции SharePoint для просмотра соответствующего веб-запроса и записанных событий.

    Журнал IntelliTrace — введите корреляционный идентификатор SharePoint

  3. Просмотрите события в разделе События запроса. События отображаются сверху вниз в порядке, в котором они произошли.

    1. Выберите событие для просмотра подробных сведений о нем.

    2. Выберите Начать отладку, чтобы начать отладку в точке, где произошло событие.

    Файл журнала IntelliTrace — просмотр веб-запросов и событий

Можно просмотреть эти типы событий SharePoint вместе с событиями IntelliTrace:

  • События профиля пользователя

    Эти события происходят при загрузке SharePoint профиля пользователя, а также при считывании или изменении свойств профиля пользователя.

  • События унифицированной системы ведения журнала (ULS)

    Microsoft Monitoring Agent записывает подмножество событий SharePoint ULS и этих полей:

    Поле IntelliTrace

    Поле SharePoint ULS

    Идентификатор

    EventID

    Уровень

    Уровень

    Идентификатор категории

    Идентификатор категории

    Категория

    Категория

    Область

    Продукт

    Вывод

    Сообщение

    Идентификатор корреляции

    Идентификатор корреляции

Запуск отладки из необработанного исключения

  1. Выберите идентификатор корреляции SharePoint для исключения. Исключения группируются по типу и стеку вызовов.

  2. (Необязательно) Разверните узел Стек вызовов, чтобы просмотреть стек вызовов для группы исключений.

  3. Выберите Исключение отладки, чтобы начать отладку в точке и в момент возникновения исключения.

    Журнал IntelliTrace — необработанные исключения SharePoint

Пошаговое руководство см. в разделе Пошаговое руководство. Отладка приложения SharePoint при помощи IntelliTrace. Типы данных, регистрируемых агентом, см. в разделе Запись выполнения кода с помощью IntelliTrace во время отладки.

Список потоков

Изучите записанные потоки, которые работали в целевом процессе. Можно начать отладку с первого допустимого события IntelliTrace в выделенном потоке.

Запуск отладки из конкретного потока

  1. Выберите поток в разделе Список потоков.

  2. В нижней части раздела Список потоков выберите Начать отладку. Можно также выбрать поток двойным щелчком.

    Чтобы начать отладку из места начала приложения, двойным щелчком выберите Основной поток. См. раздел Запись выполнения кода с помощью IntelliTrace во время отладки.

Данные потока, созданного пользователем, могут быть более полезными, чем потоки, создаваемые и управляемые сервером для размещенных в IIS веб-приложений.

Столбец

Отображает

Идентификатор

Идентификационный номер потока

Имя

Имя потока. Безымянные потоки отображаются как "<No Name>".

Время начала

Время создания потока

Время окончания

Время завершения выполнения потока

Данные теста

Изучите данные IntelliTrace, записанные Test Manager при тестировании вашего приложения.

Запуск отладки из конкретного шага тестирования

  1. Разверните раздел Сетка шагов теста. Выберите шаг теста.

  2. В нижней части раздела Сетка шагов тестирования выберите Начать отладку. Можно также двойным щелчком выбрать шаг теста.

    Это запускает отладку из первого допустимого события IntelliTrace после выбранного шага теста.

    Если тестовые данные существуют, IntelliTrace пытается разрешить связанную сборку Team Foundation Server, которая использовалось для выполнения тестового запуска. Если сборка найдена, связанные символы для приложения разрешаются автоматически.

Поле

Отображает

Сеанс тестирования

Записанные сеансы тестирования. Обычно существует только один такой сеанс. Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную.

Тестовый случай

Тестовые случаи из выбранного сеанса тестирования. Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную.

Сетка шагов теста

Шаги теста, которые были записаны с результатом тестирования "пройден" или "не пройден"

Сведения о системе

В этом разделе приводятся сведения о системе, в которой размещено приложение, например сведения об оборудовании, операционной системе, сведения, характерные для среды и процесса.

Модули

В этом разделе перечислены модули, загруженные целевым процессом. Модули отображаются в порядке их загрузки.

Столбец

Отображает

Имя модуля

Имя файла модуля

Путь к модулю

Расположение на диске, где был загружен модуль

Идентификатор модуля

Уникальный идентификатор модуля, характерный для конкретной версии и соответствующий файлам символов (PDB). См. раздел [УСТАРЕЛО] Практическое руководство. Указание мест расположения символов и поведения загрузки.

Где можно получить дополнительные сведения?

Сбор диагностических данных в производственной среде с помощью автономного сборщика данных IntelliTrace

Запись выполнения кода с помощью IntelliTrace во время отладки

Сбор дополнительных данных диагностики в ручных тестах

Отладка приложения путем записи выполнения кода с помощью IntelliTrace

Форумы

Visual Studio Debugger (Отладчик Visual Studio)

Руководство

Testing for Continuous Delivery with Visual Studio 2012 – Chapter 6: A Testing Toolbox (Тестирование при непрерывной поставке с использованием Visual Studio 2012", глава 6 "Средства тестирования")