Что мне дает настройка сервера символов?
Я прочитал эту статью: Настройка сервера Symbol, в котором подробно описано, как настроить общий сервер символов для моей команды.
То, что мне интересно, это добавить мои собственные символы в магазин.
Мой вопрос: что именно я получаю от этого?
Предположим, что у меня есть следующий процесс сборки:
- Я фиксирую изменения в моем репозитории Subversion.
- Инструмент TeamCity CI подбирает эти изменения и выполняет тестирование сборки + unit
- Бинарные файлы привязаны к другому репозиторию Subversion (для ссылки на приложения, которые я делаю)
Если я добавлю к третьему пункту выше, возможность добавлять встроенные файлы в хранилище символов, что это дает мне?
Если я создаю программу и ссылаюсь на двоичные файлы, переданные в репозиторий, я получаю обе библиотеки .dll,.pdb и .xml(поддержка intellisense), поэтому мои трассировки стека уже содержат все, что мне нужно.
Является ли это заменой для распространения .pdb's?
Или это просто, когда мне нужно открыть .DMP файл в WINDBG и проанализировать его стеки, где у меня, по-видимому, вообще нет исполняемых файлов, только файл .DMP, предоставленный кем-то другим? (то есть exectuables, возможно, из более старой версии, и мне был предоставлен только файл .DMP)
Ответы
Ответ 1
Не очевидно: сервер символов дает вам символы. Таким образом, вы можете отлаживать мини-карты, которые вы возвращаете от своего клиента, когда ваш код падает и горит. Крайне важно делать посмертный анализ реальных проблем, которые испытывает ваш клиент. Потому что к моменту, когда ваша несколькомесячная версия вашего кода получит возможность сбой на вашем компьютере-клиенте, вы уже продвинулись в нескольких версиях.
Реальное усилие заключается не в настройке сервера символов, а в том, что он имеет правильные файлы pdb, чтобы дать вам хорошую возможность отладки. Управление процессом сборки является важной частью этого уравнения.
Ответ 2
Если у вас есть пользователи, которые могут найти проблемы с кодом, но не имеют доступа к вашему репозиторию Subversion, как вы получите им нужные символы? Например, если вы разрабатывали приложение для отдела бухгалтерского учета и хотели, чтобы они опробовали раннюю версию кода, то, как вы знаете, можно было бы трассировать на них, требовали ли вы, чтобы у них был заверщик Subversion?
Сервер символов - это просто одно сетевое местоположение, где символы становятся доступными для всех, кто может им понадобиться.
Нет альтернативы файлам .pdb, если вы хотите получить информацию о символах.
Ответ 3
Взгляните на это сообщение в блоге: Сервер источника и поддержка сервера Symbol в TFS 2010
Это о сервере Symbol и Source Server, особенно в TFS 2010, но вы можете взять много информации и применить ее к другим системам управления версиями и исходными текстами.