Использование данных IntelliTrace (C#, Visual Basic, C++)

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

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

Что вы хотите сделать?

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

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

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

    - или -

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

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

      - или -

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

Совет

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

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

Некоторые из следующих разделов в ITRACE-файле отображаются только в том случае, если данные собраны из определенного источника, например приложений 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)
Сведения о системе Параметры и спецификации системы размещения Все источники
Список потоков Потоки, которые выполнялись во время сбора Все источники
Модули Модули, которые целевой процесс загрузил в порядке их загрузки. Все источники
Веб-запрос Данные веб-запросов для веб-приложений IIS в рабочей среде, а также SharePoint 2010 и SharePoint 2013 Microsoft Monitoring Agent и изолированный сборщик

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

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

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

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

    Description:slow

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

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

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

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

    View performance event details

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

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

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

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

    (Клавиатура: чтобы отобразить или скрыть вложенный вызов, нажмите клавишу со стрелкой вправо или со стрелкой влево соответственно. Чтобы отобразить или скрыть значения параметров для вложенного вызова, нажмите клавишу ПРОБЕЛ.)

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

    Start debugging from method call

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

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

    Go to application code from performance event

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

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

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

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

    Start debugging from exception event

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

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

    Go to application code from an exception event

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

    Столбец Отображает
    Тип Тип исключения .NET
    Последнее сообщение для группированных исключений или Сообщение для несгруппированных исключений Сообщение, передаваемое исключением
    Число для сгруппированных исключений Количество возникновений исключения
    Идентификатор потока для несгруппированных исключений Идентификатор потока, вызвавшего исключение
    Последнее время события или Время события Отметка времени, записанная при создании исключения
    Стек вызовов Стек вызовов для исключения.

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

Анализ

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

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

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

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

    Например:

    IntelliTrace - SharePoint error - correlation ID

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

    IntelliTrace log - Enter SharePoint correlation ID

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

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

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

      IntelliTrace log file - View web request + events

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

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

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

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

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

    Поле IntelliTrace Поле SharePoint ULS
    Артикул EventID
    Уровень Уровень
    Идентификатор категории Идентификатор категории
    Категория Категория
    Область Продукт
    Выходные данные Сообщение
    Идентификатор корреляции Идентификатор корреляции
Запуск отладки из необработанного исключения
  1. Выберите идентификатор корреляции SharePoint для исключения. Исключения группируются по типу и стеку вызовов.

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

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

    IntelliTrace log - SharePoint unhandled exceptions

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

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

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

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

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

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

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

Столбец Отображает
Артикул Идентификационный номер потока
Имя Имя потока. Потоки без имени отображаются как <No Name>.
Время начала Время создания потока
Время завершения Время завершения выполнения потока
Запуск отладки из конкретного шага тестирования
  1. Разверните раздел Сетка шагов теста. Выберите шаг теста.

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

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

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

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

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

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

Модули

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

Столбец Отображает
Имя модуля Имя файла модуля
Путь к модулю Расположение на диске, где был загружен модуль
Идентификатор модуля Уникальный идентификатор модуля, характерный для конкретной версии и соответствующий файлам символов (PDB). См. раздел Finding symbol (.pdb) files and source files.

Где мне можно посмотреть более подробную информацию?

Использование автономного сборщика данных IntelliTrace

Возможности IntelliTrace

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

IntelliTrace

Форумы

Отладчик Visual Studio