Отладка приложения с помощью сохраненных данных IntelliTrace
Переходите к определенным точкам выполнения приложения при запуске отладки из файла журнала IntelliTrace (.iTrace). Этот файл может содержать события, исключения, потоки, шаги теста, модули и другие системные сведения, которые фиксирует IntelliTrace во время работы приложения.
Убедитесь в наличии следующих элементов.
Совпадающие файлы исходного кода и файлы символов (PDB) для кода приложения. В противном случае Visual Studio не удастся разрешить местоположения исходного кода, и отобразится сообщение "Символы не найдены". См. разделы Указание файлов символов (.pdb) и файлов с исходным кодом в отладчике Visual Studio и Настройка версии для диагностики проблем после развертывания.
Visual Studio Ultimate 2013 на компьютере разработки или другом компьютере для открытия iTrace-файлов.
ITRACE-файл из одного из следующих источников:
Исходный код
См.
Сеанс IntelliTrace в Visual Studio Ultimate
Запись выполнения кода с помощью IntelliTrace во время отладки
Сеанс тестирования в Microsoft Test Manager. Это прикрепляет ITRACE-файл к рабочему элементу Team Foundation Server.
Microsoft Monitoring Agent либо отдельно, либо вместе с System Center 2012 R2 Operations Manager для веб-приложений ASP.NET и приложений SharePoint, работающих в развертывании
Выберите действие.
Открытие журнала 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
Нарушения производительности
Просмотрите события производительности, записанные для приложения. Можно скрывать события, которые происходят нечасто.
Запуск отладки из события производительности
В области Нарушения производительности просмотрите записанные события производительности, значения их полного времени выполнения и другие данные о событиях. Затем более глубоко проанализируйте методы, вызванные во время конкретного события производительности.
Можно также просто открыть событие двойным щелчком.
На странице событий проверьте время исполнения этих вызовов. Найдите медленный вызов в дереве выполнения.
Самые медленные вызовы отображаются в отдельном разделе, если имеется несколько вызовов, вложенных друг в друга или размещенных иначе.
Разверните этот вызов, чтобы просмотреть все вложенные вызовы и значения параметров, которые были записаны в тот момент времени.
(Клавиатура: для отображения и сворачивания вложенного вызова нажмите клавишу Стрелка вправо или Стрелка влево, соответственно. Для отображения и скрытия значений параметров для вложенного вызова нажмите клавишу Пробел.)
Запустите отладку из этого вызова.
Также можно двойным щелчком открыть вызов или нажать клавишу Ввод.
Если метод находится в коде приложения, Visual Studio перейдет к этому методу.
Теперь можно просмотреть другие записанные значения, стек вызова, выполнить пошаговый обход кода или использовать окно IntelliTrace для перемещения вперед или назад "по времени" между другими методами, которые вызывались в ходе этого события производительности.
Данные исключения
Просмотрите исключения, возникшие в приложении и записанные для него. Можно группировать исключения с тем же типом и стеком вызова, чтобы видеть только самое последнее исключение.
Запуск отладки из исключения
В области Данные исключения просмотрите записанные события исключения, их типы, сообщения и время возникновения исключений. Чтобы глубже изучить код, начните отладку из последнего события в группе исключений.
Можно также просто открыть событие двойным щелчком. Если события не сгруппированы, выберите Отладить это событие.
Если исключение возникло в коде приложения, Visual Studio переходит туда, где произошло исключение.
Теперь можно просмотреть другие записанные значения, стек вызова или использовать окно IntelliTrace для перемещения вперед или назад "по времени" между различными записанными событиями, по связанному с ними коду и значениям, записанным в эти моменты времени.
Столбец
Отображает
Тип
Тип исключения .NET
Последнее сообщение для группированных исключений или Сообщение для несгруппированных исключений
Сообщение, передаваемое исключением
Число для сгруппированных исключений
Количество возникновений исключения
Идентификатор потока для несгруппированных исключений
Идентификатор потока, вызвавшего исключение
Последнее время события или Время события
Отметка времени, записанная при создании исключения
Стек вызовов
Стек вызовов для исключения.
Чтобы просмотреть стек вызовов, выберите исключение в списке. Стек вызовов отображается под списком исключений.
Анализ
Проводите диагностику проблем с приложениями SharePoint 2010 и SharePoint 2013, используя идентификатор корреляции SharePoint, или просматривайте все необработанные исключения, обнаруженные Microsoft Monitoring Agent.
Используйте идентификатор корреляции SharePoint для поиска соответствующего ему веб-запроса и событий. Выберите событие и затем запустите отладку в точке и в момент наступления события.
Если Microsoft Monitoring Agent обнаружил необработанные исключения, выберите исключение и затем запустите отладку в точке и в момент возникновения исключения.
Запуск отладки с идентификатором корреляции SharePoint
Скопируйте идентификатор корреляции SharePoint из его источника.
Например:
Откройте ITRACE-файл, затем перейдите в меню Анализ и введите идентификатор корреляции SharePoint для просмотра соответствующего веб-запроса и записанных событий.
Просмотрите события в разделе События запроса. События отображаются сверху вниз в порядке, в котором они произошли.
Выберите событие для просмотра подробных сведений о нем.
Выберите Начать отладку, чтобы начать отладку в точке, где произошло событие.
Можно просмотреть эти типы событий SharePoint вместе с событиями IntelliTrace:
События профиля пользователя
Эти события происходят при загрузке SharePoint профиля пользователя, а также при считывании или изменении свойств профиля пользователя.
События унифицированной системы ведения журнала (ULS)
Microsoft Monitoring Agent записывает подмножество событий SharePoint ULS и этих полей:
Поле IntelliTrace
Поле SharePoint ULS
Идентификатор
EventID
Уровень
Уровень
Идентификатор категории
Идентификатор категории
Категория
Категория
Область
Продукт
Вывод
Сообщение
Идентификатор корреляции
Идентификатор корреляции
Запуск отладки из необработанного исключения
Выберите идентификатор корреляции SharePoint для исключения. Исключения группируются по типу и стеку вызовов.
(Необязательно) Разверните узел Стек вызовов, чтобы просмотреть стек вызовов для группы исключений.
Выберите Исключение отладки, чтобы начать отладку в точке и в момент возникновения исключения.
Пошаговое руководство см. в разделе Пошаговое руководство. Отладка приложения SharePoint при помощи IntelliTrace. Типы данных, регистрируемых агентом, см. в разделе Запись выполнения кода с помощью IntelliTrace во время отладки.
Список потоков
Изучите записанные потоки, которые работали в целевом процессе. Можно начать отладку с первого допустимого события IntelliTrace в выделенном потоке.
Запуск отладки из конкретного потока
Выберите поток в разделе Список потоков.
В нижней части раздела Список потоков выберите Начать отладку. Можно также выбрать поток двойным щелчком.
Чтобы начать отладку из места начала приложения, двойным щелчком выберите Основной поток. См. раздел Запись выполнения кода с помощью IntelliTrace во время отладки.
Данные потока, созданного пользователем, могут быть более полезными, чем потоки, создаваемые и управляемые сервером для размещенных в IIS веб-приложений.
Столбец |
Отображает |
---|---|
Идентификатор |
Идентификационный номер потока |
Имя |
Имя потока. Безымянные потоки отображаются как "<No Name>". |
Время начала |
Время создания потока |
Время окончания |
Время завершения выполнения потока |
Данные теста
Изучите данные IntelliTrace, записанные Test Manager при тестировании вашего приложения.
Запуск отладки из конкретного шага тестирования
Разверните раздел Сетка шагов теста. Выберите шаг теста.
В нижней части раздела Сетка шагов тестирования выберите Начать отладку. Можно также двойным щелчком выбрать шаг теста.
Это запускает отладку из первого допустимого события IntelliTrace после выбранного шага теста.
Если тестовые данные существуют, IntelliTrace пытается разрешить связанную сборку Team Foundation Server, которая использовалось для выполнения тестового запуска. Если сборка найдена, связанные символы для приложения разрешаются автоматически.
Поле |
Отображает |
---|---|
Сеанс тестирования |
Записанные сеансы тестирования. Обычно существует только один такой сеанс. Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную. |
Тестовый случай |
Тестовые случаи из выбранного сеанса тестирования. Этот список пуст, если тестовые данные были созданы с использованием произвольного тестирования вручную. |
Сетка шагов теста |
Шаги теста, которые были записаны с результатом тестирования "пройден" или "не пройден" |
Сведения о системе
В этом разделе приводятся сведения о системе, в которой размещено приложение, например сведения об оборудовании, операционной системе, сведения, характерные для среды и процесса.
Модули
В этом разделе перечислены модули, загруженные целевым процессом. Модули отображаются в порядке их загрузки.
Столбец |
Отображает |
---|---|
Имя модуля |
Имя файла модуля |
Путь к модулю |
Расположение на диске, где был загружен модуль |
Идентификатор модуля |
Уникальный идентификатор модуля, характерный для конкретной версии и соответствующий файлам символов (PDB). См. раздел [УСТАРЕЛО] Практическое руководство. Указание мест расположения символов и поведения загрузки. |
Где можно получить дополнительные сведения?
Запись выполнения кода с помощью IntelliTrace во время отладки
Сбор дополнительных данных диагностики в ручных тестах
Отладка приложения путем записи выполнения кода с помощью IntelliTrace
Форумы
Visual Studio Debugger (Отладчик Visual Studio)