¿Qué es un archivo PDB y cómo puedo excluirlo de la carpeta de lanzamiento cuando reconstruyo mi solución?
¿Qué es un archivo PDB y cómo puedo excluirlo de la carpeta de lanzamiento cuando reconstruyo mi solución?
Respuestas:
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 lanzamiento, haga clic en "Avanzado ..." y en "Información de depuración" seleccione "Ninguno".
Originalmente me hice la pregunta " ¿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 hoy, cuando estaba tratando de averiguar por qué Exception.StackTrace
faltaba un cuadro de mensaje que contenía un archivo y la información del número de línea, necesaria para solucionar la excepción. Volví a leer esta publicación y encontré la pepita de información clave: 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 StackTrace
cadena. Incluí el archivo PDB en la carpeta ejecutable y ahora todo está bien.
accepted answer
aquí no menciona.
PDB es una abreviatura de P rogram D ata B ase. Como su nombre lo indica, es un repositorio (almacenamiento persistente, como bases de datos) para mantener la información requerida 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 rompa en Visual Studio.
Esta es la razón por la cual muchas veces Visual Studio no alcanza los puntos de interrupción si elimina los *.pdb
archivos de sus carpetas de depuración. El depurador de Visual Studio también puede decirle el número de línea preciso del archivo de código en el que se produjo una excepción en un seguimiento de la pila con la ayuda de *.pdb
archivos. Así que, efectivamente, los archivos pdb son realmente una bendición para los desarrolladores al depurar un programa.
Generalmente no se recomienda excluir la generación de *.pdb
archivos. Desde el punto de vista de la versión de producción, lo que debe 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 / hacer referencia en el futuro si es necesario. Especialmente para casos en los que depura problemas como el bloqueo del proceso. Cuando comience a analizar los archivos de volcado de bloqueo y si sus *.pdb
archivos originales creados durante el proceso de compilación no se conservan, Visual Studio no podrá distinguir la línea exacta de código que está causando el bloqueo .
Si aún desea deshabilitar la generación de *.pdb
archivos por completo para cualquier versión, vaya a las propiedades del proyecto -> Pestaña Build -> Haga clic en el Advancedbotón -> Elija none
del cuadro desplegable "Información de depuración" -> presione OKcomo se muestra en la instantánea a continuación .
Nota : Esta configuración tendrá que hacerse por separado para las configuraciones de compilación "Debug" y "Release".
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 de lanzamiento.
Puede deshabilitar la creación de archivos pdb en Visual Studio. Si está construyendo desde la línea de comandos o un script, omita el /Debug
interruptor.
El programa Program Debug Database file (pdb) es un formato de archivo de Microsoft para almacenar información de depuración.
Cuando crea un proyecto utilizando Visual Studio o el símbolo del sistema, el compilador crea estos archivos de símbolos.
Consultar documentos de Microsoft