|
|
|||||||||||||||||||||||||||||
|
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 11Источник: microsoft microsoft
Общие сведения Инструмент IntelliTrace, который впервые появился в Visual Studio 2010, изменил правила игры в сфере отладки программного обеспечения, предоставив разработчикам возможность сделать шаг "назад во времени", чтобы увидеть, как приложение перешло в его текущее состояние. IntelliTrace дает детальное представление о поведении приложения, регистрируя такие события, как доступ к файлам и реестру, исключения и вызовы методов. В этом упражнении вы узнаете, как Visual Studio 11 расширяет возможности IntelliTrace для организаций, отвечающих за разработку и тестирование, позволяя ИТ-администраторам вести запись файлов IntelliTrace на рабочих серверах. Разработчики могут анализировать эти файлы для проведения диагностики проблем в рабочей среде. Необходимые условия
Информация о сценарии Fabrikam Fiber
В рамках этой группы практических занятий вы примете участие в ряде сценариев, в которые вовлечены разработчики и тестировщики компании Fabrikam Fiber. Рабочая группа из 8-10 специалистов решила использовать инструменты управления жизненным циклом приложений Visual Studio для управления исходным кодом, запуска сборок, проверки веб-сайтов, а также планирования и мониторинга процесса реализации проекта. Упражнения Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 11 Упражнение 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 (Проводник Windows) и перейдите в корневой каталог диска C. Обратите внимание, что здесь находятся две папки, созданные заранее специально для данного упражнения: c:\IntelliTrace - каталог автономных файлов IntelliTrace и c:\LogFileLocation - каталог для записи файлов IntelliTrace в процессе выполнения данного упражнения.
Рисунок 3 Местоположение папки с файлами IntelliTrace и папки с файлами журнала 7. В окне Explorer(Проводник) щелкните правой кнопкой мыши папку LogFileLocation (Место хранения файлов журнала) и выберите пункт Properties (Свойства), чтобы открыть соответствующее окно. Мы должны убедиться в том, что пулу приложений IIS предоставлено разрешение на использование папки LogFileLocation. 8. Выберите вкладку Security (Безопасность), прокрутите вниз список групп и имен пользователей и найдите FabrikamFiber.Extranet.Web (Экстрасеть FabrikamFiber). Соответствующие разрешения были добавлены в этой виртуальной машине заранее, но в рабочей среде вы должны выполнить этот шаг самостоятельно.
Рисунок 4 Настройка системы безопасности с целью разрешения записи файлов журнала 9. Нажмите клавишу ESCAPE, чтобы выйти из окна свойств. 10. IntelliTrace можно развернуть в рабочей среде путем простого извлечения содержимого файла IntelliTraceCollection.cab из комплекта поставки Visual Studio 11. Это действие в виртуальной машине также было выполнено заранее для вашего удобства, поэтому можно пропустить этот шаг.
Рисунок 5 Извлеченное содержимое файла IntelliTraceCollection.cab Примечание. В рамках данного упражнения производственная система та же самая, что и система разработки, но в реальной ситуации это чаще всего не так. 11. Откройте окно PowerShell и введите следующую команду, чтобы импортировать модуль IntelliTrace PowerShell: Import-Module c:\IntelliTrace\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll 12. Чтобы увидеть команды, доступные в IntelliTrace, наберите команду PowerShell: Get-Command *IntelliTrace*
Рисунок 6 Поиск команд с текстом "IntelliTrace" Примечание. Команды позволяют запускать и останавливать сбор данных в IntelliTrace, а также работать с контрольными точками в процессе сбора. 13. Чтобы получить справку по использованию команд PowerShell IntelliTrace, введите что-либо подобное: Get-Help Start-IntelliTraceCollection
Рисунок 7 Экран справки для команды Start-IntelliTraceCollection Примечание. В разделе справки REMARKS (ЗАМЕЧАНИЯ) представлена информация о том, как можно получить более детальные примеры использования команды. 14. Теперь мы можем приступить к сбору данных IntelliTrace. Введите следующую команду PowerShell, чтобы начать сбор информации в рамках пула приложений FabrikamFiber.Extranet.Web IIS. Результаты будут храниться в файлах журнала .iTrace в папке, которую мы предварительно создали. Start-IntelliTraceCollection "FabrikamFiber.Extranet.Web" c:\IntelliTrace\collection_plan.ASP.NET.trace.xml c:\LogFileLocation Примечание. В Visual Studio 11 Developer Preview вы можете вручную отредактировать файл плана сбора информации. Графический редактор, как ожидается, будет включен в более поздние версии. 15. Получив запрос на подтверждение, нажмите клавишу Y. Для продолжения нажмите клавишу Enter (Ввод).
Рисунок 8 Подтверждение запуска процесса сбора информации 16. Запустите Internet Explorer и нажмите кнопку FF Customer Portal(Клиентский портал Fabrikam Fiber) на панели Favorites (Избранное), чтобы загрузить http://www.fabrikam.com. 17. Инструмент IntelliTrace в настоящее время настроен для сбора отладочной информации, указанной в файле конфигурации для плана сбора. Выберите билеты службы, чтобы воспроизвести ошибку, с которой мы столкнулись ранее. Когда ошибка появится, закройте Internet Explorer.
Рисунок 9 Воспроизведение ошибки 18. Вернитесь в окно PowerShell и введите следующую команду, чтобы узнать текущее состояние процесса сбора информации. Get-IntelliTraceCollectionStatus -ApplicationPool "FabrikamFiber.Extranet.Web" Рисунок 10 Состояние процесса сбора информации 19. Введите следующую команду, чтобы остановить сбор данных IntelliTrace для пула приложений FabrikamFiber.Extranet.Web. Подтвердите действие, когда система выдаст соответствующий запрос. Stop-IntelliTraceCollection "FabrikamFiber.Extranet.Web" Примечание. Чтобы не останавливать сбор данных IntelliTrace, можно получить копию текущего журнала с помощью команды Checkpoint-IntelliTraceCollection. Это позволяет просмотреть доступную на данный момент информацию, продолжая сбор данных. 20. В реальной ситуации на данном этапе файл IntelliTrace будет направлен разработчику или тест-инженеру для более детального анализа. Упражнение 2. Отладка с применением файлов IntelliTrace, сформированных в рабочей среде В этом упражнении вы научитесь использовать файл IntelliTrace, созданный на рабочем сервере, в процессе исправления ошибки, которую мы обнаружили в предыдущем упражнении. 1. Применительно к нашей ситуации предположим, что мы уже получили этот файл IntelliTrace и передали его на компьютер, на котором ведется разработка, с установленным пакетом Visual Studio 11. Двойным щелчкомзагрузите файл IntelliTrace в Visual Studio 11.
Рисунок 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 Выявление причины возникновения исключения Ссылки по теме
|
|