14
Практическое занятие Диагностика проблем в промышленной среде с помощью IntelliTrace и Visual Studio 2012 Версия практического занятия: 11.0.51106.01 Обновление 1 Последнее обновление: 27.11.2012 г.

Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

  • Upload
    -

  • View
    1.514

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Практическое занятие

Диагностика проблем в промышленной среде с помощью IntelliTrace и Visual Studio 2012

Версия практического занятия: 11.0.51106.01 Обновление 1

Последнее обновление: 27.11.2012 г.

Page 2: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

СОДЕРЖАНИЕ

ОБЩИЕ СВЕДЕНИЯ .................................................................................................................................. 3

УПРАЖНЕНИЕ 1: ИСПОЛЬЗОВАНИЕ INTELLITRACE В ПРОМЫШЛЕННОЙ СРЕДЕ ................. 4

УПРАЖНЕНИЕ 2: ОТЛАДКА С ПРИМЕНЕНИЕМ ФАЙЛОВ INTELLITRACE,

СФОРМИРОВАННЫХ В ПРОМЫШЛЕННОЙ СРЕДЕ ....................................................................... 10

Page 3: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Общие сведения

Инструмент IntelliTrace, который впервые появился в Visual Studio 2010, изменил правила игры в

сфере отладки программного обеспечения, предоставив разработчикам возможность сделать шаг

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

IntelliTrace дает детальное представление о поведении приложения, регистрируя такие события,

как доступ к файлам и реестру, исключения и вызовы методов. В этом упражнении вы узнаете, как

Visual Studio 2012 расширяет возможности IntelliTrace для организаций, отвечающих за разработку

и тестирование, позволяя ИТ-администраторам вести запись файлов IntelliTrace на рабочих

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

промышленной среде.

Необходимые условия

Для этого практического занятия вам понадобится виртуальная машина Visual Studio 2012,

предоставляемая Microsoft. Для получения дополнительных сведений о получении и

использовании этой виртуальной машины выберите ссылку.

Информация о сценарии Fabrikam Fiber

В этой группе практических занятий для более удобного изучения сценариев упоминается

вымышленная компания Fabrikam Fiber, которая предоставляет доступ к кабельному телевидению

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

клиентов она использует приложение Windows Azure, чтобы предоставить конечным

пользователям возможность самообслуживания и отслеживания доступности технических

специалистов. В компании используется также локальное приложение ASP.NET MVC для

повышения эффективности работы представителей отдела обслуживания клиентов. Приложение

позволяет управлять процессом выполнения заказов клиентов.

В рамках этой группы практических занятий вы примете участие в ряде сценариев, в которые

вовлечены разработчики и тестировщики компании Fabrikam Fiber. Рабочая группа из 8–10

специалистов решила использовать инструменты управления жизненным циклом приложений

Visual Studio для управления исходным кодом, запуска сборок, проверки веб-сайтов, а также

планирования и мониторинга процесса реализации проекта.

Упражнения

Это практическое занятие включает следующие упражнения:

1. Использование IntelliTrace в промышленной среде.

2. Отладка с применением файлов IntelliTrace, сформированных в промышленной среде.

Page 4: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Примерная продолжительность практического занятия: 60 минут.

Упражнение 1: Использование

IntelliTrace в промышленнои среде

В этом упражнении вы узнаете о развертывании и применении IntelliTrace в промышленной среде

с целью записи данных трассировки для приложений ASP.NET.

1. Войдите в систему с логином Adam. Для всех учетных записей используется пароль

P2ssw0rd.

2. Запустите Internet Explorer и нажмите кнопку FF Customer Portal (Клиентский портал

Fabrikam Fiber) на панели Favorites (Избранное), чтобы загрузить портал поддержки

клиентов Fabrikam Fiber Support (http://www.fabrikam.com).

Рисунок 1

Клиентский портал Fabrikam Fiber

3. Выберите для просмотра несколько сервисных записей в разделе My Tickets. При

просмотре одной из записей вы получите сообщение об ошибке, которая произошла при

получении данных с сервера. Эта информация поступает из базы данных. Впрочем,

сообщение об ошибке общего характера появляется вследствие целого ряда причин.

Page 5: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 2

Сообщение об ошибке, которое возникло при выборе сервисной записи

4. Закройте Internet Explorer.

5. Как правило, первым шагом в процессе определения причины ошибки будет анализ

журналов и, возможно, трассировка стека. Если эти действия не позволяют получить

достаточно информации и ошибку трудно воспроизвести в среде разработки, рабочая

группа разработчиков может в конечном итоге потратить много времени на определение

причины и устранение проблемы. Установка Visual Studio или других инструментов

отладки в промышленной среде не представляется целесообразной.

6. Давайте познакомимся с процессом развертывания и применения IntelliTrace в

промышленной среде с целью сбора архивных данных отладки. Откройте окно Windows

Explorer и перейдите в корневой каталог диска C. Обратите внимание, что здесь находятся

две папки, созданные заранее специально для данного упражнения: c:\IntelliTrace —

каталог автономных файлов IntelliTrace и c:\LogFileLocation — каталог для записи файлов

IntelliTrace в процессе выполнения данного упражнения.

Page 6: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 3

Расположение папки с файлами IntelliTrace и папки с файлами журнала

7. В окне Explorer щелкните правой кнопкой мыши папку LogFileLocation и выберите пункт

Properties, чтобы открыть соответствующее окно. Мы должны убедиться в том, что пулу

приложений IIS предоставлено разрешение на использование папки LogFileLocation.

8. Выберите вкладку Security, прокрутите вниз список групп и имен пользователей и найдите

FabrikamFiber.Extranet.Web. Соответствующие разрешения были добавлены в этой

виртуальной машине заранее, но в промышленной среде вы должны выполнить этот шаг

самостоятельно.

Рисунок 4

Настройка системы безопасности для разрешения записи файлов журнала

9. Нажмите клавишу ESCAPE, чтобы выйти из окна свойств.

10. IntelliTrace можно развернуть в промышленной среде путем простого извлечения

содержимого файла IntelliTraceCollection.cab из комплекта поставки Visual Studio 2012. Это

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

поэтому можно пропустить этот шаг.

Page 7: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 5

Извлеченное содержимое файла IntelliTraceCollection.cab

Примечание. В рамках данного упражнения промышленная система та же, что и система

разработки, но в реальной ситуации это часто всего не так.

11. Теперь мы начнем IntelliTrace, так что мы можем собирать диагностические данные из веб-

приложения. У вас есть два варианта, вы можете пройти шаги 12-16, или вы можете

запустить файл StartIntelliTraceDemo.cmd из папки Scripts на рабочем столе и перейти к

шагу 17.

12. Откройте окно PowerShell и введите следующую команду, чтобы импортировать модуль

IntelliTrace PowerShell:

Import-Module c:\IntelliTrace\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll

13. Чтобы увидеть команды, доступные в IntelliTrace, наберите команду PowerShell:

Get-Command *IntelliTrace*

Рисунок 6

Поиск команд с текстом «IntelliTrace»

Page 8: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

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

также работать с контрольными точками в процессе сбора.

14. Чтобы получить справку по использованию команд PowerShell IntelliTrace, введите что-

либо подобное:

Get-Help Start-IntelliTraceCollection

Рисунок 7

Экран справки для команды Start-IntelliTraceCollection

Примечание. В разделе справки REMARKS представлена информация о том, как можно

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

15. Теперь мы можем приступить к сбору данных IntelliTrace. Введите следующую команду

PowerShell, чтобы начать сбор информации в рамках пула приложений

FabrikamFiber.Extranet.Web IIS. Результаты будут храниться в файлах журнала .iTrace в

папке, которую мы предварительно создали.

Start-IntelliTraceCollection "FabrikamFiber.Extranet.Web"

c:\IntelliTrace\collection_plan.ASP.NET.trace.xml c:\LogFileLocation

Page 9: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Примечание. В Visual Studio 2012 вы можете вручную отредактировать файл плана сбора

информации. Графический редактор, как ожидается, будет включен в более поздние

версии.

16. Получив запрос на подтверждение, нажмите клавишу Y. Для продолжения нажмите

клавишу Enter.

Рисунок 8

Подтверждение запуска процесса сбора информации

17. Запустите Internet Explorer и нажмите кнопку FF Customer Portal на панели Избранное,

чтобы загрузить http://www.fabrikam.com.

18. Инструмент IntelliTrace в настоящее время настроен для сбора отладочной информации,

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

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

Internet Explorer.

Рисунок 9

Воспроизведение ошибки

19. Теперь мы прекратим сбор IntelliTrace для того, чтобы вернуть промышленный сервер в

нормальное состояние. У вас есть два варианта, вы можете пройти шаги 20-22 или вы

можете запустить файл StopIntelliTraceDemo.cmd из папки Scripts на рабочем столе и

перейти к шагу 23.

20. Вернитесь в окно PowerShell и введите следующую команду, чтобы узнать текущее

состояние процесса сбора информации.

Get-IntelliTraceCollectionStatus -ApplicationPool "FabrikamFiber.Extranet.Web"

Page 10: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 10

Состояние процесса сбора информации

21. Введите следующую команду, чтобы остановить сбор данных IntelliTrace для пула

приложений FabrikamFiber.Extranet.Web. Подтвердите действие, когда система выдаст

соответствующий запрос.

Stop-IntelliTraceCollection "FabrikamFiber.Extranet.Web"

Примечание. Чтобы не останавливать сбор данных IntelliTrace, можно получить копию

текущего журнала с помощью команды Checkpoint-IntelliTraceCollection. Это позволяет

просмотреть доступную на данный момент информацию, продолжая сбор данных.

22. В реальной ситуации на данном этапе файл IntelliTrace будет направлен разработчику или

тестировщику для более детального анализа.

Упражнение 2: Отладка с

применением фаи лов IntelliTrace,

сформированных в промышленнои

среде

В этом упражнении вы научитесь использовать файл IntelliTrace, созданный на промышленном

сервере, в процессе исправления ошибки, которую мы обнаружили в предыдущем упражнении.

1. Применительно к нашей ситуации предположим, что мы уже получили этот файл

IntelliTrace и передали его на компьютер, на котором ведется разработка, с

установленным пакетом Visual Studio 11. Двойным щелчком загрузите файл IntelliTrace в

Visual Studio 2012.

Page 11: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 11

Загрузка файла IntelliTrace

2. В окне со сводной информацией IntelliTrace перейдите к разделу Exception Data. Здесь

представлена таблица с информацией о всех возникших исключениях. По умолчанию

записи упорядочены по убыванию даты и времени.

Рисунок 12

Раздел Exception Data в окне со сводной информацией IntelliTrace

3. Выберите последнее исключение System.NullReferenceException в списке. Это первое и

самое раннее событие. Нажмите кнопку Start Debugging, чтобы начать сеанс отладки в

IntelliTrace.

Page 12: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 13

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

4. После запуска сеанса отладки IntelliTrace вы увидите, что панель IntelliTrace автоматически

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

доступ к стандартному набору отладочных функций IntelliTrace.

Page 13: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Рисунок 14

Отладка кода, вызвавшего исключение

5. В окне Locals обратите внимание, что параметр ServiceTicket.AssignedTo в данный момент

имеет нулевое значение. Именно поэтому ссылка на serviceTicket.AssignedTo.FullName в

коде дала нулевой результат, который мы наблюдали. На данном этапе мы могли бы

оформить сообщение об ошибке в Team Foundation Server и прикрепить файл IntelliTrace,

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

Рисунок 15

Выявление причины возникновения исключения

Page 14: Диагностика проблем в промышленной среде с помощью Intelli Trace и Visual Studio 2012

Свои отзывы и предложения вы можете отправить по электронной

почте: [email protected]

© 2013 г. Корпорация Microsoft. Все права защищены.