¿Qué es un archivo PDB?

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

Un archivo PDB contiene información para que el depurador trabaje. En cualquier caso, hay menos información en una versión de Release que en una versión de Debug. Pero si desea que no se genere en absoluto, vaya a las propiedades de comstackció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”.

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

Todo funcionó bien, hasta hoy, cuando intentaba averiguar por qué a un cuadro de mensaje que contenía un Exception.StackTrace le faltaba el archivo y la información del número de línea, necesarios para resolver el problema de la excepción. Volví a leer esta publicación y encontré el nugget clave de información: 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.

PDB es la abreviatura de P rogram D ata B ase. Como su nombre indica, es un repository (almacenamiento persistente como bases de datos) para mantener la información requerida para ejecutar su progtwig 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 rompa en Visual Studio.

Esta es la razón por la que muchas veces Visual Studio falla al llegar a los puntos de ruptura si elimina los archivos * .pdb de sus carpetas de depuración. El depurador de Visual Studio también puede indicarle el número de línea preciso del archivo de código en el que se produjo una excepción en un rastreo de stack con la ayuda de archivos * .pdb. Entonces, efectivamente, los archivos pdb son realmente una gran ayuda para los desarrolladores al depurar un progtwig.

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 debe hacer es crear los archivos pdb pero no enviarlos al sitio del cliente en el instalador del producto. Preserve todos los archivos pdb generados en un servidor de símbolos desde donde puede usarse / referenciarse en el futuro si es necesario. Especialmente para casos en los que se solucionan problemas como fallas en el proceso. Cuando comienza a analizar los archivos de volcado de locking y si sus archivos * .pdb originales creados durante el proceso de comstackción no se conservan, Visual Studio no podrá distinguir la línea exacta de código que causa el locking .

Si aún desea deshabilitar la generación de archivos * .pdb para cualquier versión, vaya a las propiedades del proyecto -> Ficha Construir -> Haga clic en el botón Avanzado -> Elija ninguno para el campo “Información de depuración” -> presione OK como se muestra en la instantánea a continuación.

Ninguno Configuración de depuración de información para un proyecto C #

Nota : Esta configuración deberá hacerse por separado para las configuraciones de comstackción “Depurar” y “Liberar”.

Un archivo PDB contiene información utilizada por el depurador. No es necesario ejecutar su aplicación y no necesita ser incluida en su versión lanzada.

Puede deshabilitar que los archivos pdb se creen en Visual Studio. Si está comstackndo desde la línea de comando o un script, entonces omita el /Debug .