Поделиться через


Диагностирование проблем в сборке

Диагностика и исправление проблем сборки — обычная задача при разработке программного обеспечения. Team Foundation Build предоставляет средства для упрощения отладки и устранения проблем, таких как:

  • Частично успешные и неудачно выполненные сборки

  • Исключения, ошибки и предупреждения

  • Непредвиденные события и результаты

Выберите действие.

  • Определение причины, по которой построение не выполняется

  • Поиск сведений о проблеме в окне результатов построения

  • Запрос и просмотр журналов диагностики

  • Проверка системы построения и отладка процесса построения

  • Получение дополнительных сведений

Необходимые разрешения

Вы должны быть членом группы "Администраторы Windows" на сервере сборки и членом группы "Администраторы построений коллекции проектов" в коллекции командных проектов. См. раздел Справочник по разрешениям Team Foundation Server.

Определение причины, по которой построение не выполняется

Если сборка — следующая в очереди, но еще не выполняется, убедитесь, что контроллер сборок и хотя бы один из его агентов сборки доступен и включен. Если процесс сборки имеет фильтры агента сборки, убедитесь, что агент сборки, который соответствует критериям, доступен и включен. См. раздел Управление системой сборки, Задание агентов сборки для обработки сборки и Развертывание и настройка агентов сборки.

Поиск сведений о проблеме в окне результатов построения

Если сборка выполняется, зависла в определенной части процесса или завершилась, можно получить дополнительные сведения о проблемах в окне результатов сборки. Выберите Просмотреть журнал для отображения более подробных сведений:

  • Для перехода непосредственно к проблемам в сборке выберите Следующая ошибка или Следующее предупреждение.

  • Везде, где можно увидеть экземпляры ссылки Файл журнала MSBuild, щелкайте ее для получения более подробных сведений о событиях, которые произошли, когда операция MSBuild компилировала код и выполняла другие задачи.

  • Можно копировать данные и при желании совместно использовать их с людьми, которые могут помочь вам в разрешении проблем. Выберите конкретные фрагменты в журнале или откройте контекстное меню в любом месте журнала и выберите Выбрать все. Затем можно открыть контекстное меню и выбрать команду Копировать, чтобы скопировать текст в буфер обмена.

Просмотр журналов диагностики

Если информации все еще не достаточно, чтобы диагностировать проблему, можно просматривать более подробные журналы диагностики. В окне результатов сборки выберите Диагностика, а затем:

  • Если сборка завершена, выберите Окончательные журналы от date and time.

  • Если сборка еще не завершена, выберите Журналы запросов.

    Получение журнала диагностики

    Система собирает журналы.

    Когда журналы готовы, выберите Диагностика, От date and time для User who requested the log.

Если этапы сборки выводят в Папку сброса в пути UNC, система открывает вложенную папку папки сброса, содержащую диагностические журналы. После открытия папки сброса или загрузки ZIP-файла можно просмотреть один из следующих журналов:

  • Из контроллера сборок: ActivityLog

  • Из каждого агента сборки, который участвовал в сборке: **ActivityLog.AgentScope.**Build_Agent_ID

  • Для каждого решения, компилированного действием MSBuild: Solution_Name

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

Примечание

При использовании Visual Studio 2010 меню Диагностика не отображается в окне результатов сборки, но можно по-прежнему посмотреть журналы диагностики в папке сброса, когда сборка завершается.

Проверка системы построения и отладка процесса построения

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

Совет

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

Проверка компонентов системы построения

Убедитесь, что сервер, контроллер и агент сборок настроены правильно. См. Развертывание и настройка сервера сборки, Развертывание и настройка контроллера сборок и Развертывание и настройка агентов сборки.

Войдите на сервер сборки и убедитесь, что он работает правильно. Можно также просмотреть подробные диагностические данные на сервере сборки. См. раздел Управление системой сборки.

Отладка процесса построения на сервере построений

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

  1. Войдите на сервер сборки.

  2. Запустите Visual Studio от имени администратора.

  3. В Visual Studio в строке меню выберите Инструменты, Присоединение к процессу.

  4. В диалоговом окне Присоединение к процессу:

    1. Выберите Показать процессы, запущенные всеми пользователями.

    2. Выберите TFSBuildServiceHost.exe.

    3. Выберите Присоединиться.

  5. В строке меню выберите Отладка, Исключения. В диалоговом окне Исключения выберите Исключения среды CLR. Нажмите кнопку ОК.

  6. В строке меню выберите Инструменты, Параметры. В диалоговом окне Параметры в области дерева выберите Отладка. В списке Общие снимите флажок Включить только мой код. Нажмите кнопку ОК.

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

Теперь можно выполнить отладку исключений, возникающих в процессе сборки, а также установить точки останова и отладить действия пользовательского процесса сборки. См. раздел Отладка в Visual Studio.

Советы

  • Совет Во время диагностирования проблем с процессом сборки можно избавить себя и своих коллег от многих проблем, сделав паузу до тех пор, пока процесс не удастся отладить:

    • Измените определение сборки, а затем в нижней части вкладки Общие выберите Приостановлено.

    • Чтобы проверить исправления в процессе сборки, выделите сборку в очереди, откройте ее контекстное меню, затем выберите пункт Запустить сейчас.

  • СоветЕсли вы считаете, что один из компонентов системы сборки может быть причиной одной из проблем, можно запустить, остановить или перезапустить сервер сборки или включить или отключить контроллер или агент по мере необходимости. См. раздел Управление системой сборки.

  • СоветЧасто при попытке устранения проблем процесса сборки требуется помещение в очередь сборки с теми же параметрами повторно, чтобы протестировать различные исправления. Можно быстро повторить попытку сборки:

    • В окне результатов сборки выберите Действия, Повторить попытку сборки.

    • На странице "Сборки" в Team Explorer или обозревателе сборок путем выбора завершенной сборки, открыв ее контекстное меню и выбрав Повторить попытку сборки.

  • СоветВы используете размещенный контроллер сборок? См. раздел Использование размещенного контроллера сборок.