¿Deben agregarse los files .pdb de obj / Debug al control de origen?

Hay cierta información contradictoria en la web sobre las mejores prácticas cuando se trata de manejar files .pdb , y agradecería una aclaración.

Por ejemplo, esta fuente dice que "los files PDB son tan importantes como el código fuente", mientras que esto indica que los .pdbs no pertenecen al control de fuente.

  1. ¿Deberían los files .pdb generados por compilation durante el desarrollo normal (modo de debugging) comprometerse con el control de origen?
  2. ¿Solo deberían almacenarse los files .pdb utilizados para la versión / producción en el control de código fuente?

Esperaría que la respuesta a la primera pregunta sea "no" y la respuesta a la segunda sea "sí", pero me puede estar perdiendo algo.

Los files PDB no deberían ir en control de fuente. Son parte de los artefactos de construcción y deben mantenerse junto con el resultado de la construcción (en lugar de descartarse después de la construcción). Deben mantenerse las comstackciones históricas y debe rastrearse la versión de la implementación actualmente lanzada, de modo que, si lo necesita, puede extraer los PDB de la compilation archivada correspondiente.

Además de la respuesta correcta de Craig W.

además del sistema de control de fuente (como svn / git) también deberías usar un sistema de compilation para archivar cualquier compilation.

Un buen sistema de compilation es Jenkins, es un sistema de construcción silencioso y fácil de entender con todas las características que espero. Si distribuye su software, inicie session en jenkis y presione "build ahora". Jenkins luego verifica la versión actual de svn / git y crea su software (utilizando un lote) y guarda todos los files, incluidos los files de debugging / símbolo. jenkins debe boost el número de compilation del binary cada vez y el número de compilation debe establecerse en el file binary (dll y exe). En un crash, verá la versión en el visor de events y podrá get todos los files de la versión bloqueada, incluida la fuente.

También sugeriría escribir el número de compilation de jenkins en el binary. por lo tanto, siempre puedes ingresar a jenkins seleccionando el número de compilation y luego obtienes todos los files de debugging y también ves en los logs de qué versión de svn fue creado (por lo tanto, también puedes consultar el código fuente correcto). para versionar files dll o exe que puede usar (en .net edite el file de configuration con un script en su lugar): http://www.codeproject.com/KB/install/VerPatch.aspx?msg=3207401 e integrelo en la compilation lote.

Y aquí encontrarás a los jenkins: https://jenkins-ci.org/

Ver esta publicación en SO. No necesita agregar el file * .pdb al control de fuente. Estos files se generan cuando inicia una nueva session de debugging.