SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Практическое занятие
Диагностика проблем в промышленной
среде с помощью IntelliTrace и Visual Studio
2012
Версия практического занятия: 11.0.51106.01 Обновление 1
Последнее обновление: 27.11.2012 г.
СОДЕРЖАНИЕ
ОБЩИЕ СВЕДЕНИЯ..................................................................................................................................3
УПРАЖНЕНИЕ 1: ИСПОЛЬЗОВАНИЕ INTELLITRACE В ПРОМЫШЛЕННОЙ СРЕДЕ .................4
УПРАЖНЕНИЕ 2: ОТЛАДКА С ПРИМЕНЕНИЕМ ФАЙЛОВ INTELLITRACE,
СФОРМИРОВАННЫХ В ПРОМЫШЛЕННОЙ СРЕДЕ .......................................................................10
Общие сведения
Инструмент 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, сформированных в промышленной среде.
Примерная продолжительность практического занятия: 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. При
просмотре одной из записей вы получите сообщение об ошибке, которая произошла при
получении данных с сервера. Эта информация поступает из базы данных. Впрочем,
сообщение об ошибке общего характера появляется вследствие целого ряда причин.
Рисунок 2
Сообщение об ошибке, которое возникло при выборе сервисной записи
4. Закройте Internet Explorer.
5. Как правило, первым шагом в процессе определения причины ошибки будет анализ
журналов и, возможно, трассировка стека. Если эти действия не позволяют получить
достаточно информации и ошибку трудно воспроизвести в среде разработки, рабочая
группа разработчиков может в конечном итоге потратить много времени на определение
причины и устранение проблемы. Установка Visual Studio или других инструментов
отладки в промышленной среде не представляется целесообразной.
6. Давайте познакомимся с процессом развертывания и применения IntelliTrace в
промышленной среде с целью сбора архивных данных отладки. Откройте окно Windows
Explorer и перейдите в корневой каталог диска C. Обратите внимание, что здесь находятся
две папки, созданные заранее специально для данного упражнения: c:IntelliTrace —
каталог автономных файлов IntelliTrace и c:LogFileLocation — каталог для записи файлов
IntelliTrace в процессе выполнения данного упражнения.
Рисунок 3
Расположение папки с файлами IntelliTrace и папки с файлами журнала
7. В окне Explorer щелкните правой кнопкой мыши папку LogFileLocation и выберите пункт
Properties, чтобы открыть соответствующее окно. Мы должны убедиться в том, что пулу
приложений IIS предоставлено разрешение на использование папки LogFileLocation.
8. Выберите вкладку Security, прокрутите вниз список групп и имен пользователей и найдите
FabrikamFiber.Extranet.Web. Соответствующие разрешения были добавлены в этой
виртуальной машине заранее, но в промышленной среде вы должны выполнить этот шаг
самостоятельно.
Рисунок 4
Настройка системы безопасности для разрешения записи файлов журнала
9. Нажмите клавишу ESCAPE, чтобы выйти из окна свойств.
10. IntelliTrace можно развернуть в промышленной среде путем простого извлечения
содержимого файла IntelliTraceCollection.cab из комплекта поставки Visual Studio 2012. Это
действие в виртуальной машине также было выполнено заранее для вашего удобства,
поэтому можно пропустить этот шаг.
Рисунок 5
Извлеченное содержимое файла IntelliTraceCollection.cab
Примечание. В рамках данного упражнения промышленная система та же, что и система
разработки, но в реальной ситуации это часто всего не так.
11. Теперь мы начнем IntelliTrace, так что мы можем собирать диагностические данные из веб-
приложения. У вас есть два варианта, вы можете пройти шаги 12-16, или вы можете
запустить файл StartIntelliTraceDemo.cmd из папки Scripts на рабочем столе и перейти к
шагу 17.
12. Откройте окно PowerShell и введите следующую команду, чтобы импортировать модуль
IntelliTrace PowerShell:
Import-Module c:IntelliTraceMicrosoft.VisualStudio.IntelliTrace.PowerShell.dll
13. Чтобы увидеть команды, доступные в IntelliTrace, наберите команду PowerShell:
Get-Command *IntelliTrace*
Рисунок 6
Поиск команд с текстом «IntelliTrace»
Примечание. Команды позволяют запускать и останавливать сбор данных в 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:IntelliTracecollection_plan.ASP.NET.trace.xml c:LogFileLocation
Примечание. В 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"
Рисунок 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.
Рисунок 11
Загрузка файла IntelliTrace
2. В окне со сводной информацией IntelliTrace перейдите к разделу Exception Data. Здесь
представлена таблица с информацией о всех возникших исключениях. По умолчанию
записи упорядочены по убыванию даты и времени.
Рисунок 12
Раздел Exception Data в окне со сводной информацией IntelliTrace
3. Выберите последнее исключение System.NullReferenceException в списке. Это первое и
самое раннее событие. Нажмите кнопку Start Debugging, чтобы начать сеанс отладки в
IntelliTrace.
Рисунок 13
Запуск процесса отладки в отношении конкретного события
4. После запуска сеанса отладки IntelliTrace вы увидите, что панель IntelliTrace автоматически
открылась, и система выделила участок кода, где произошло исключение. Вы получили
доступ к стандартному набору отладочных функций IntelliTrace.
Рисунок 14
Отладка кода, вызвавшего исключение
5. В окне Locals обратите внимание, что параметр ServiceTicket.AssignedTo в данный момент
имеет нулевое значение. Именно поэтому ссылка на serviceTicket.AssignedTo.FullName в
коде дала нулевой результат, который мы наблюдали. На данном этапе мы могли бы
оформить сообщение об ошибке в Team Foundation Server и прикрепить файл IntelliTrace,
чтобы помочь рабочей группе разработчиков внести соответствующие исправления.
Рисунок 15
Выявление причины возникновения исключения
Свои отзывы и предложения вы можете отправить по электронной
почте: VSKitFdbk@Microsoft.com
© 2013 г. Корпорация Microsoft. Все права защищены.

Contenu connexe

Tendances

Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
Делаем работу разработчиков более продуктивной с Team Foundation Server 2012Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
Александр Шамрай
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by Cheburek
Ya_Cheburek
 
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
613.программирование в visual с++ с использованием библиотеки mfc  учебное по...613.программирование в visual с++ с использованием библиотеки mfc  учебное по...
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
efwd2ws2qws2qsdw
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVN
Александр Шамрай
 
Ecp manual
Ecp manualEcp manual
Ecp manual
Dim Kin
 

Tendances (13)

Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
Делаем работу разработчиков более продуктивной с Team Foundation Server 2012Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
Делаем работу разработчиков более продуктивной с Team Foundation Server 2012
 
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by Cheburek
 
Изменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистовИзменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистов
 
Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4
 
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
613.программирование в visual с++ с использованием библиотеки mfc  учебное по...613.программирование в visual с++ с использованием библиотеки mfc  учебное по...
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVN
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
 
лек11 2
лек11 2лек11 2
лек11 2
 
Mantis
MantisMantis
Mantis
 
Ecp manual
Ecp manualEcp manual
Ecp manual
 
Sw2009 Kurulum Oku
Sw2009 Kurulum OkuSw2009 Kurulum Oku
Sw2009 Kurulum Oku
 

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

IntelliJ IDEA: architecture, performance, development process
IntelliJ IDEA: architecture, performance, development processIntelliJ IDEA: architecture, performance, development process
IntelliJ IDEA: architecture, performance, development process
chashnikov
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Dmitry Savchenko
 
Effective coding in IntelliJ IDEA
Effective coding in IntelliJ IDEAEffective coding in IntelliJ IDEA
Effective coding in IntelliJ IDEA
chashnikov
 
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опытМихаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
UA Mobile
 
отладка Mpi приложений
отладка Mpi приложенийотладка Mpi приложений
отладка Mpi приложений
Michael Karpov
 

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

Programming Guide
Programming GuideProgramming Guide
Programming Guide
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кода
 
Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотов
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение
 
Руководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPCРуководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPC
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
IntelliJ IDEA: architecture, performance, development process
IntelliJ IDEA: architecture, performance, development processIntelliJ IDEA: architecture, performance, development process
IntelliJ IDEA: architecture, performance, development process
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
 
Effective coding in IntelliJ IDEA
Effective coding in IntelliJ IDEAEffective coding in IntelliJ IDEA
Effective coding in IntelliJ IDEA
 
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опытМихаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
 
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NET
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NETASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NET
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NET
 
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
Разбор некоторых технических моментов нового .NET
Разбор некоторых технических моментов нового .NETРазбор некоторых технических моментов нового .NET
Разбор некоторых технических моментов нового .NET
 
CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
 
отладка Mpi приложений
отладка Mpi приложенийотладка Mpi приложений
отладка Mpi приложений
 

Plus de Александр Шамрай

Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
Александр Шамрай
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Александр Шамрай
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFS
Александр Шамрай
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Александр Шамрай
 

Plus de Александр Шамрай (20)

Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребности
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестирование
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
Управление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation ServerУправление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation Server
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
 
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
 
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного циклаПрактическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
 
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
 
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
 
Практическое руководство IBM RTC 3 - Управление заданиями Web client
Практическое руководство IBM RTC 3  - Управление заданиями Web clientПрактическое руководство IBM RTC 3  - Управление заданиями Web client
Практическое руководство IBM RTC 3 - Управление заданиями Web client
 
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3  - Управление заданиями Eclipse clientПрактическое руководство IBM RTC 3  - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
 
Практическое руководство IBM RTC 3 - Установка и поддержка
Практическое руководство IBM RTC 3  - Установка и поддержкаПрактическое руководство IBM RTC 3  - Установка и поддержка
Практическое руководство IBM RTC 3 - Установка и поддержка
 
Сквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFSСквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFS
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFS
 
Отчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиОтчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитики
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFS
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
 

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

  • 1. Практическое занятие Диагностика проблем в промышленной среде с помощью IntelliTrace и Visual Studio 2012 Версия практического занятия: 11.0.51106.01 Обновление 1 Последнее обновление: 27.11.2012 г.
  • 2. СОДЕРЖАНИЕ ОБЩИЕ СВЕДЕНИЯ..................................................................................................................................3 УПРАЖНЕНИЕ 1: ИСПОЛЬЗОВАНИЕ INTELLITRACE В ПРОМЫШЛЕННОЙ СРЕДЕ .................4 УПРАЖНЕНИЕ 2: ОТЛАДКА С ПРИМЕНЕНИЕМ ФАЙЛОВ INTELLITRACE, СФОРМИРОВАННЫХ В ПРОМЫШЛЕННОЙ СРЕДЕ .......................................................................10
  • 3. Общие сведения Инструмент 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, сформированных в промышленной среде.
  • 4. Примерная продолжительность практического занятия: 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. При просмотре одной из записей вы получите сообщение об ошибке, которая произошла при получении данных с сервера. Эта информация поступает из базы данных. Впрочем, сообщение об ошибке общего характера появляется вследствие целого ряда причин.
  • 5. Рисунок 2 Сообщение об ошибке, которое возникло при выборе сервисной записи 4. Закройте Internet Explorer. 5. Как правило, первым шагом в процессе определения причины ошибки будет анализ журналов и, возможно, трассировка стека. Если эти действия не позволяют получить достаточно информации и ошибку трудно воспроизвести в среде разработки, рабочая группа разработчиков может в конечном итоге потратить много времени на определение причины и устранение проблемы. Установка Visual Studio или других инструментов отладки в промышленной среде не представляется целесообразной. 6. Давайте познакомимся с процессом развертывания и применения IntelliTrace в промышленной среде с целью сбора архивных данных отладки. Откройте окно Windows Explorer и перейдите в корневой каталог диска C. Обратите внимание, что здесь находятся две папки, созданные заранее специально для данного упражнения: c:IntelliTrace — каталог автономных файлов IntelliTrace и c:LogFileLocation — каталог для записи файлов IntelliTrace в процессе выполнения данного упражнения.
  • 6. Рисунок 3 Расположение папки с файлами IntelliTrace и папки с файлами журнала 7. В окне Explorer щелкните правой кнопкой мыши папку LogFileLocation и выберите пункт Properties, чтобы открыть соответствующее окно. Мы должны убедиться в том, что пулу приложений IIS предоставлено разрешение на использование папки LogFileLocation. 8. Выберите вкладку Security, прокрутите вниз список групп и имен пользователей и найдите FabrikamFiber.Extranet.Web. Соответствующие разрешения были добавлены в этой виртуальной машине заранее, но в промышленной среде вы должны выполнить этот шаг самостоятельно. Рисунок 4 Настройка системы безопасности для разрешения записи файлов журнала 9. Нажмите клавишу ESCAPE, чтобы выйти из окна свойств. 10. IntelliTrace можно развернуть в промышленной среде путем простого извлечения содержимого файла IntelliTraceCollection.cab из комплекта поставки Visual Studio 2012. Это действие в виртуальной машине также было выполнено заранее для вашего удобства, поэтому можно пропустить этот шаг.
  • 7. Рисунок 5 Извлеченное содержимое файла IntelliTraceCollection.cab Примечание. В рамках данного упражнения промышленная система та же, что и система разработки, но в реальной ситуации это часто всего не так. 11. Теперь мы начнем IntelliTrace, так что мы можем собирать диагностические данные из веб- приложения. У вас есть два варианта, вы можете пройти шаги 12-16, или вы можете запустить файл StartIntelliTraceDemo.cmd из папки Scripts на рабочем столе и перейти к шагу 17. 12. Откройте окно PowerShell и введите следующую команду, чтобы импортировать модуль IntelliTrace PowerShell: Import-Module c:IntelliTraceMicrosoft.VisualStudio.IntelliTrace.PowerShell.dll 13. Чтобы увидеть команды, доступные в IntelliTrace, наберите команду PowerShell: Get-Command *IntelliTrace* Рисунок 6 Поиск команд с текстом «IntelliTrace»
  • 8. Примечание. Команды позволяют запускать и останавливать сбор данных в 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:IntelliTracecollection_plan.ASP.NET.trace.xml c:LogFileLocation
  • 9. Примечание. В 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"
  • 10. Рисунок 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.
  • 11. Рисунок 11 Загрузка файла IntelliTrace 2. В окне со сводной информацией IntelliTrace перейдите к разделу Exception Data. Здесь представлена таблица с информацией о всех возникших исключениях. По умолчанию записи упорядочены по убыванию даты и времени. Рисунок 12 Раздел Exception Data в окне со сводной информацией IntelliTrace 3. Выберите последнее исключение System.NullReferenceException в списке. Это первое и самое раннее событие. Нажмите кнопку Start Debugging, чтобы начать сеанс отладки в IntelliTrace.
  • 12. Рисунок 13 Запуск процесса отладки в отношении конкретного события 4. После запуска сеанса отладки IntelliTrace вы увидите, что панель IntelliTrace автоматически открылась, и система выделила участок кода, где произошло исключение. Вы получили доступ к стандартному набору отладочных функций IntelliTrace.
  • 13. Рисунок 14 Отладка кода, вызвавшего исключение 5. В окне Locals обратите внимание, что параметр ServiceTicket.AssignedTo в данный момент имеет нулевое значение. Именно поэтому ссылка на serviceTicket.AssignedTo.FullName в коде дала нулевой результат, который мы наблюдали. На данном этапе мы могли бы оформить сообщение об ошибке в Team Foundation Server и прикрепить файл IntelliTrace, чтобы помочь рабочей группе разработчиков внести соответствующие исправления. Рисунок 15 Выявление причины возникновения исключения
  • 14. Свои отзывы и предложения вы можете отправить по электронной почте: VSKitFdbk@Microsoft.com © 2013 г. Корпорация Microsoft. Все права защищены.