visual studio proyecto para modo este depurar depuracion debug configuracion compilar compilacion cambie .net deployment release-management

.net - proyecto - release mode visual studio



¿Tiene que implementar el archivo.pdb con la compilación bajo release? (11)

¿Tiene que implementar el archivo .pdb con la compilación bajo release?

¿Por qué incluso compila un .pdb cuando haces una compilación de lanzamiento de todos modos?


Algunas herramientas, como InterceptStudio de AVICode, utilizan los archivos pdb para ver el origen de una excepción particular / seguimiento de pila / local desde dentro de la herramienta, en lugar de tener que abrir la fuente e ir a una línea específica.


Como la mayoría de las personas en este hilo han dicho: no, no es necesario enviar los archivos de PDB; pero realmente deberías si alguna vez intentas liberar el código en la naturaleza.

Se trata de poder apoyar tu aplicación. Sin el PDB, cuando se bloquea la aplicación, todo el usuario podrá decirle que es la dirección de memoria sin procesar donde se colgó la aplicación; pero con el archivo PDB obtienes un error sobre el que realmente puedes hacer algo.


Los archivos PDB contienen símbolos de depuración que le permiten depurar su binario incluso en modo de lanzamiento . No es necesario (y probablemente no debería implementarlos), ya que podrían usarse para aplicar ingeniería inversa a su aplicación. Sin embargo, consérvelos archivados en algún lugar, ya que son muy útiles cuando quiere depurar un volcado.


No los necesitas para correr.

Los archivos pdb se pueden usar para depurar incluso si la compilación está en la configuración de lanzamiento.


No tiene que implementar y distribuir los archivos PDB junto con sus binarios.

Sin embargo, le sugiero que los guarde (y, finalmente, los indexe) para poder analizar los archivos de volcado que los clientes, el control de calidad y las personas de soporte le envían. De esta forma, podrá tener rastros de pila comprensibles e información de símbolos.


No, no envía los archivos .pdb. Se generan porque a veces es útil poder depurar una versión de lanzamiento.


No, no necesitas desplegarlos.

En cuanto a por qué incluso están construidos en versión. Un archivo PDB realmente tiene un par de usos, pero los principales (al menos para mí) son

  1. Depuración
  2. Perfilado

Ambas tareas se realizan de manera válida en los archivos binarios de la versión, por lo que las versiones de lanzamiento incluyen un PDB. De hecho, al depurar los volcados de Watson, es el 100% del tiempo contra una versión de lanzamiento. Sin un PDB tendría que recurrir a mirar a través de disasembly :(


No, no tiene que implementar el archivo .pdb.

Para citar de MSDN , "se crea un archivo PDB cuando se compila con / debug (Visual Basic / C #).", Por lo que no debería crear la base de datos de depuración cuando se compila para el lanzamiento.


Nop. No necesita distribuirlos. Ayudará con la depuración (o debería decir que hará que la depuración sea ​​posible para gente sensata).

También puede desactivar o ajustar el ''nivel'' de símbolos generados en Visual Studio; solo vaya a Propiedades del proyecto / pestaña ''Generar'' / ''Avanzado'' y realice los ajustes en el campo ''Información de depuración''.


Si lo desea, también puede desactivar la generación del archivo PDB en las opciones de compilación.


un archivo PDB contiene información sobre nombres de funciones. Necesitas que sea capaz de obtener un seguimiento de la pila. También puede contener información sobre el mapeo de las fuentes. En ocasiones, es posible que desee enviar su versión de lanzamiento y aún así tener que analizar un bloqueo que ocurre en el lado del cliente. Para eso, el AP es necesario. El PDB al compilar para su lanzamiento debería, en teoría, tener menos información que cuando se compila para la depuración.