Tengo una aplicación que registra rastreos de excepciones y quería que esos rastreos de pila incluyeran nombres de archivo y números de línea cuando se implementan en producción. Descubrí cómo implementar los símbolos de depuración con el ensamblado, pero en el proceso de investigación del problema me encontré con esta pregunta , lo que implica que no es una buena idea incluir archivos pdb en un entorno de producción. Un comentario a la respuesta aceptada dice "... depurar información puede revelar datos confidenciales y ser un vector de ataque. Dependiendo de cuál sea su aplicación".
Entonces, ¿qué tipo de datos sensibles podrían estar expuestos? ¿Cómo se pueden utilizar los símbolos de depuración para comprometer una aplicación? Tengo curiosidad por los detalles técnicos, pero lo que realmente estoy buscando es una forma práctica de evaluar el riesgo de incluir símbolos de depuración para cualquier aplicación y entorno de producción. O para decirlo de otra manera: ¿qué es lo peor que podría pasar?
EDITAR: pregunta de seguimiento / aclaración
Entonces, según las respuestas de todos hasta ahora, parece que esta pregunta se puede simplificar un poco para las aplicaciones .NET. Este fragmento del blog de John Robbins vinculado en la respuesta de Michael Maddox me llamó la atención :
Una PDB .NET solo contiene dos piezas de información, los nombres de los archivos de origen y sus líneas y los nombres de las variables locales. Toda la demás información ya está en los metadatos de .NET, por lo que no es necesario duplicar la misma información en un archivo PDB.
Para mí, esto reitera lo que otros han estado diciendo sobre Reflector, con la implicación de que el verdadero problema es el acceso a las asambleas. Una vez que se ha determinado, la única decisión que debe tomar con respecto a los PDB es si le importa o no exponer los nombres de archivo, los números de línea y los nombres de las variables locales (asumiendo que no está mostrando los rastros de pila a los usuarios finales para empezar). ¿O lo he simplificado demasiado?