isilo hacer documentos como archivos c# pdb-files

c# - hacer - ¿Qué es un archivo PDB?



documentos pdb (4)

¿Qué es un archivo PDB y cómo puedo excluirlo de la carpeta de la versión cuando reconstruyo mi solución?


Originalmente me había preguntado " ¿Necesito un archivo PDB implementado en la máquina de mi cliente? ", Y después de leer esta publicación, decidí excluir el archivo.

Todo funcionó bien, hasta el día de hoy, cuando intentaba averiguar por qué a un cuadro de mensaje que contenía una Exception.StackTrace le faltaba la información del archivo y el número de línea, necesaria para solucionar la excepción. Volví a leer esta publicación y encontré el nugget clave de información: que aunque el PDB no es necesario para que la aplicación se ejecute, es necesario que los números de archivo y línea estén presentes en la cadena de StackTrace . Incluí el archivo PDB en la carpeta ejecutable y ahora todo está bien.


Un archivo PDB contiene información utilizada por el depurador. No es necesario que ejecute su aplicación y no es necesario que se incluya en su versión publicada.

Puede desactivar la creación de archivos pdb en Visual Studio. Si está compilando desde la línea de comandos o un script, omita el /Debug .


Un archivo PDB contiene información para que el depurador trabaje. Hay menos información en una versión de lanzamiento que en una versión de depuración de todos modos. Pero si desea que no se genere, vaya a las propiedades de compilación de su proyecto, seleccione la configuración de la versión, haga clic en "Avanzado ..." y en "Información de depuración", seleccione "Ninguno".


PDB es una abreviatura de P rogram D ata B ase. Como sugiere su nombre, es un repositorio (almacenamiento persistente, como bases de datos) para mantener la información necesaria para ejecutar su programa en modo de depuración. Contiene mucha información relevante importante requerida mientras depura su código (en Visual Studio), por ejemplo, en qué puntos ha insertado puntos de interrupción donde espera que el depurador se interrumpa en Visual Studio.

Esta es la razón por la que muchas veces Visual Studio no llega a los puntos de ruptura si elimina los archivos * .pdb de sus carpetas de depuración. El depurador de Visual Studio también puede decirle el número de línea precisa del archivo de código en el que se produjo una excepción en un seguimiento de pila con la ayuda de los archivos * .pdb. Así que, efectivamente, los archivos pdb son realmente una gran ayuda para los desarrolladores al depurar un programa.

En general, no se recomienda excluir la generación de archivos * .pdb. Desde el punto de vista de la versión de producción al máximo, lo que debería hacer es crear los archivos pdb pero no enviarlos al sitio del cliente en el instalador del producto. Conserve todos los archivos pdb generados en un servidor de símbolos desde donde se pueda usar / referenciar en el futuro si es necesario. Especialmente para los casos en los que se depuran problemas como el bloqueo del proceso. Cuando comience a analizar los archivos de volcado de bloqueo y si sus archivos * .pdb originales creados durante el proceso de construcción no se conservan, Visual Studio no podrá distinguir la línea exacta de código que está causando el bloqueo .

Si todavía realmente desea deshabilitar la generación de archivos * .pdb para cualquier versión, vaya a las propiedades del proyecto -> Crear pestaña -> Haga clic en el botón Avanzado -> No seleccionar ninguna para el campo "Información de depuración" -> presione OK como se muestra en la instantánea de abajo.

Nota : Esta configuración deberá realizarse por separado para las configuraciones de compilación "Depurar" y "Liberar".