Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Лабораторная работа
Выявление проблем в промышленной среде с помощью IntelliTrace и Visual Studio 2015
Lab version: 14.0.23107.0
Last updated: 9/11/2015
TABLE OF CONTENT
ВЫЯВЛЕНИЕ ПРОБЛЕМ В ПРОМЫШЛЕННОЙ СРЕДЕ С ПОМОЩЬЮ INTELLITRACE И VISUAL STUDIO 2015 ........... 1
PREREQUISITES ...................................................................................................................................................... 4
О КОМПАНИИ FABRIKAM FIBER ........................................................................................................................... 4
УПРАЖНЕНИЯ ....................................................................................................................................................... 4
Резюме
IntelliTrace, впервые представленный в Visual Studio 2010, значительным образом изменил
процесс отладки, позволив разработчикам воспроизводить выполнение приложения. Используя
такие события, как доступ к файлу и реестру, исключения, вызовы методов, файл, создаваемый
IntelliTrace файл содержит подробную информацию о поведении приложения. Из этой
лабораторной работы вы узнаете, как использовать Visual Studio 2015 IntelliTrace для разработки и
тестирования, как IT-администраторы могут использовать файлы IntelliTrace, полученные из
промышленной среды и как разработчики с помощью этих файлов могут анализировать и
выявлять проблемы.
Примечание: виртуальная машина была настроена таким образом, что исходники и символы
сборок архивируются, что означает, то есть могут быть привязаны к конкретной сборке. Для
эффективного использования IntelliTrace прочитайте подробную статью.
Prerequisites
Для выполнения лабораторной работы вам понадобится виртуальная машина с Visual Studio 2015
от Microsoft. Подробнее про то, где загрузить и как ее использовать, здесь.
О компании Fabrikam Fiber
Эти лабораторные работы в качестве основы для сценариев, о которых вы узнаете в процессе,
оперируют несуществующей компанией Fabrikam Fiber. Fabrikam Fiber занимается кабельным
телевидением и сопутствующими сервисами в США. Компания быстро растет и уже начала
использовать Microsoft Azure для того, чтобы масштабировать свой веб-сайт для обслуживания их
запросов и отслеживания деятельности инженеров. Компания использует локальное приложение
ASP.NET MVC для управления заказами клиентов.
В этих лабораторных работах вы изучите сценарии, включенные в рабочий процесс команды
разработки и тестирования Fabrikam Fiber. Команда, состоящая из 8-10 человек, решила
использовать средства управления жизненным циклом проектов Visual Studio 2015 для того, чтобы
контролировать программный код, выполнять сборки, тестировать веб-сайты, планировать и
отслеживать происходящее с проектом.
Упражнения
Эта лабораторная работа включает в себя следующие упражнения:
1. IntelliTrace в промышленном использовании
2. Отладка с помощью файлов IntelliTrace
Примерное время выполнения лабораторной работы: 60 минут.
Упражнение 1: IntelliTrace в
промышленнои среде
В этом упражнении вы научитесь разворачивать и использовать IntelliTrace в промышленную
среду для получения информации о приложении ASP.NET.
1. Войдите под аккаунтом Brian Keller (VSALM\Brian). Пароль: P2ssw0rd.
2. Откройте в Internet Explorer сайт FF Customer Portal – это портал поддержки
пользователей Fabrikam Fiber Support. (http://www.fabrikam.com).
Изображение 1
Портал Fabrikam Fiber
3. Листайте запросы до тех пор, пока не получите ошибку сервера. Информация о запросах
получается из базы данных, и эта ошибка может возникнуть по ряду причин.
Изображение 2
Ошибка сервера
4. Закройте Internet Explorer.
5. Первым шагом по выявлению причины ошибки обычно является проверка логов и
стектрейса. Если там нет достаточной информации или ошибку сложно воспроизвести в
среде разработки, процесс выявления и исправления ошибки может занять долгое время,
при этом установка Visual Studio или других средств отладки в промышленную среду
может быть невозможна.
6. Посмотрим, как развернуть и использовать IntelliTrace в промышленную среду для сбора
отладочных данных. Перейдите на диск C:. и в папке IntelliTrace расположены файлы
IntelliTrace, в LogFileLocation будут положены файлы, которые будут записаны позже.
Изображение 3
Файлы IntelliTrace
7. Нажмите правой кнопкой на папке LogFileLocation. Нажмите Properties. Нам нужно
убедиться, что IIS Application Pool имеет разрешение на использование этой папки.
8. Нажмите на Security и найдите FabrikamFiber.Extranet.Web. Разрешения уже были
добавлены, но в промышленной среде нам нужно было бы добавить их самостоятельно.
Изображение 4
Настройка безопасности
9. Нажмите Escape.
10. IntelliTrace можно развернуть в промышленную среду, используя копирование с помощью
xcopy содержимого пакета IntelliTrace Collector for Visual Studio 2015.
Примечание: пакет IntelliTraceCollection.cab находится в
%programfiles(x86)%\Microsoft Visual Studio
14.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\14.0.0.
Подробнее про установку можно почитать на MSDN.
Изображение 5
Содержимое IntelliTraceCollection.cab
Примечание: в рамках лабораторной работы промышленная среда расположена там же,
где и среда разработки, но обычно это не так.
11. Запустим IntelliTrace, чтобы собрать данные диагностики по веб-приложению. Здесь есть
две опции – можно пройти шаги с 12 по 16 или можно запустить StartIntelliTraceDemo.cmd
из папки Scripts на рабочем столе и сразу перейти к шагу 17.
Note: Файл StartIntelliTraceDemo.cmd должен быть запущен в режиме администратора.
12. Запустите PowerShell в режиме администратора.
Изображение 6
Запуск PowerShell в режиме администратора
13. Импортируйте модули IntelliTrace, выполнив команду:
Import-Module c:\IntelliTrace\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll
14. Для просмотра доступных команд IntelliTrace выполните следующую команду:
Get-Command *IntelliTrace*
Изображение 7
Обзор команд «IntelliTrace»
Примечание: доступны команды запуска и остановки сбора IntelliTrace, а также
получения данных по требованию во время сбора данных.
15. Для того, чтобы посмотреть справку по команде, выполните следующую команду:
Get-Help Start-IntelliTraceCollection
Изображение 8
Справка для команды Start-IntelliTraceCollection
Примечание: секция REMARKS в справке содержит примеры использования команды
16. Можно запускать сбор данных. Выполните следующую команду для запуска сбора данных
из веб-приложения FabrikamFiber.Extranet.Web и сохранения файлов в папке.
Start-IntelliTraceCollection "FabrikamFiber.Extranet.Web"
c:\IntelliTrace\collection_plan.ASP.NET.trace.xml c:\LogFileLocation
Примечание: план сбора данных можно редактировать вручную.
17. Нажмите “Y”, Enter.
Изображение 9
Подтверждение запуска сбора
Примечание: если появляются ошибки типа «App pool не имеет ключа на запись»,
перезапустите выполнение команды.
18. Откройте в Internet Explorer сайт FF Customer Portal.
19. IntelliTrace настроен на сбор отладочных данных согласно плану сбора. Нажмите на
service tickets и воспроизведите ошибку, которая была ранее. Как только она возникнет,
закройте Internet Explorer.
Изображение 10
Воспроизведение ошибки
20. Остановим сбор для возвращения сервера в нормальное состояние. Есть два варианта, как
сделать это – пройти шаги с 21 по 23 или запустить StopIntelliTraceDemo.cmd из папки
Scripts на рабочем столе Desktop и перейти к шагу 23.
21. Выполните команду PowerShell, которая покажет статус сбора.
Get-IntelliTraceCollectionStatus -ApplicationPool "FabrikamFiber.Extranet.Web"
Изображение 11
Статус сбора
22. Остановите сбор:
Stop-IntelliTraceCollection "FabrikamFiber.Extranet.Web"
Примечание: как альтернатива остановке сбора можно скопировать текущий лог
командой Checkpoint-IntelliTraceCollection. Это дает возможность посмотреть собранные
данные, не останавливая сбор.
23. Введите “Y” и нажмите Enter..
Изображение 12
Остановка сбора
24. В реальной ситуации мы высылаем файл IntelliTrace разработчику или тестировщику.
Упражнение 2: отладка с помощью
фаи лов IntelliTrace
В этом упражнении вы научитесь использовать файлы IntelliTrace для выявления причины ошибки.
1. Нажмите два раза на файле для загрузки в Visual Studio.
Изображение 13
Загрузка файла IntelliTrace
2. В окне IntelliTrace Summary изучите секцию Exception Data. Здесь доступны все
исключения, которые произошли во время работы приложения, и по умолчанию они
отсортированы от самого нового к самому старому.
Изображение 14
Исключения
3. Нажмите на последнее исключение System.NullReferenceException (по факту, возникшее
первым) и нажмите на Debug Newest Exception in Group для запуска отладочной сессии
IntelliTrace.
Изображение 15
Запуск отладки события
4. После запуск сессии будет автоматически загружена панель IntelliTrace, код, в котором
возникла ошибка, подсветится. При этом у вас есть полный доступ к отладочной
функциональности IntelliTrace.
Изображение 16
Отладка исключения
5. В Locals видно событие NullReferenceException в методе контроллера GetServiceTicket и
то, что значение ticketId было равно 3. Мы можем завести баг в TFS и приложить файл
IntelliTrace для того, чтобы помочь разработчикам найти решение этой проблемы.
Изображение 17
Определение причины ошибки
6. Выберите .diagsession – здесь находятся дополнительные данные диагностики.
Изображение 18
Данные диагностики
7. Вы видите данные диагностики и событие NullReferenceException вместе с данными о том,
когда оно возникло первый раз. Это представление помогает нам связать ошибку с
контекстом других событий, которые произошли перед исключением – например, была
проблема с запросом SQL – мы это можем увидеть в логе.
Изображение 19
Данные диагностики
To give feedback please write to [email protected]
Copyright © 2015 by Microsoft Corporation. All rights reserved.