2010-02-09 11 views
18

Leí este artículo: Setting up a Symbol Server, que contiene detalles sobre cómo configurar un servidor de símbolos compartido para mi equipo.¿Qué me proporciona la configuración de un servidor de símbolos?

Lo que me pregunto es agregar mis propios símbolos a la tienda.

Mi pregunta es esta: ¿Qué es exactamente lo que obtengo de esto?

Supongamos que tengo el siguiente proceso de construcción:

  1. encomiendo cambios en mi repositorio Subversion
  2. herramienta
  3. Un TeamCity IC recoge esos cambios y hace una prueba de acumulación + unidad de
  4. Los binarios están comprometidos con un repositorio de Subversion diferente (para hacer referencia a las aplicaciones que hago)

Si agrego al tercer punto anterior, la posibilidad de agregar los archivos generados en la tienda de símbolos, ¿qué me da eso?

Si creo un programa y hago referencia a los binarios asignados al repositorio, obtengo tanto .dll's, .pdb's y .xml's (soporte intellisense), por lo que parece que mi stack contiene todo lo que necesito.

¿Es esto un reemplazo para distribuir .pdb's?

¿O es solo para cuando necesito abrir un archivo .DMP en WINDBG y analizar sus pilas, donde presumiblemente no tengo los archivos ejecutables, solo el archivo .DMP proporcionado por otra persona? (es decir, los ejemplos son quizás de una versión anterior, y solo me dieron el archivo .DMP)

Respuesta

18

No es obvio: el servidor de símbolos le da símbolos. Para que pueda depurar los minivolcados que recibe de su cliente cuando su código se bloquea y se quema. Es absolutamente crucial hacer un análisis post-mortem en problemas reales que su cliente está experimentando. Debido a que cuando la versión del código de varios meses tiene la oportunidad de bloquearse en el equipo de su cliente, ya ha avanzado un par de versiones.

El verdadero esfuerzo no está en configurar un servidor de símbolos, se está asegurando de que tenga los archivos pdb correctos para darle una buena oportunidad de depuración. Controlar el proceso de construcción es una parte crucial de esa ecuación.

+2

Creo que esta es mi respuesta entonces. Para mi equipo, nuestros probadores y usuarios, un informe de fallas normal ya contiene todo lo que necesitamos, pero últimamente he estado viendo algunos problemas de uso de memoria, usando WINDBG, y si obtengo un archivo volcado de nuestro cliente que es más de una versión intermedia anterior, no tendré los archivos localmente. Lo que significa que esta es el área para la que puedo usar el servidor de símbolos. –

+1

Lo tienes, buena suerte. –

1

Si tiene usuarios que pueden encontrar problemas con el código pero no tienen acceso a su repositorio de Subversion, ¿cómo lo haría? les obtienes los símbolos que necesitan? Por ejemplo, si estuvieras desarrollando una aplicación para el departamento de contabilidad y quisieras que probaran una versión temprana del código, una que sabes que podría rastrear en ellas, ¿necesitarías que tengan un enlistmant de Subversion?

Un servidor de símbolos es simplemente una sola ubicación de red donde los símbolos están disponibles para cualquiera que los necesite.

No hay alternativa a los archivos .pdb si desea información de símbolos.

+0

Para obtener stacktraces útiles en nuestras herramientas de soporte, ya distribuimos archivos .pdb con nuestra aplicación. De ahí mi pregunta. Básicamente, por cada .dll (que construimos nosotros mismos), también enviamos el archivo .pdb correspondiente. Los rastreos de pila que enviamos a través de la función de informe de fallos incorporado ya contienen información sobre el número de archivo y línea. ¿Esto significa que en este contexto, no hay realmente un uso para este servidor de símbolos? Si el programa falla en una máquina de prueba, ¿cómo voy a buscar símbolos de bibliotecas que no son nuestras desde este servidor? El artículo no dice. –

+0

Diría que en la situación que describes, no sería necesario compartir un símbolo. Las grandes ventajas de un servidor de símbolos son (1) minimizar el número de archivos incluidos en la distribución/tamaño de la distribución y (2) crear una ubicación canónica para los archivos de símbolos (no es necesario que realice un seguimiento de las versiones). Parece que estás lidiando con estos problemas de otras maneras. – jfawcett

1

Echa un vistazo a esta entrada del blog: Source Server and Symbol Server Support in TFS 2010

Es sobre el servidor de símbolos de & Servidor de origen dispone específicamente en TFS 2010 pero se puede tomar una gran cantidad de la información y aplicarla a otros sistemas de construcción y de control de origen como bien.

Cuestiones relacionadas