visual studio net generate diferencia debug create compile c# pdb-files release-mode

c# - net - visual studio 2017 generate release



La versión de lanzamiento de C#todavía tiene el archivo.pdb (5)

El valor predeterminado es generar PDB para las compilaciones de lanzamiento también. Esa es una característica y no deberías deshabilitarla. Generar PDB significa que puede obtener más información al depurar. El rendimiento del código no se ve afectado de ninguna manera por la presencia de archivos PDB.

Quiero implementar la versión de lanzamiento de mi aplicación hecha en C #.

Cuando .pdb utilizando la configuración de la Release , todavía puedo ver que se .pdb archivos .pdb , lo que significa que mi aplicación todavía puede ser depurada. Esto también significa que parte de la información de depuración está presente en algún lugar de mi código, lo que la ralentiza un poco.

Si esto es cierto, ¿cómo puedo suprimir por completo la información de depuración producida en los binarios? ¿Sabes también la razón de haber liberado .pdb ? La configuración de la Release tiene el Optimize code comprobado, y solo se define la constante TRACE , no DEBUG .

Gracias por asistir


Hacer que el compilador genere un archivo .pdb no se excluye mutuamente para optimizar el código.

Para obtener más información sobre este tema, lea estas entries blog .


No tiene que enviar los .PDBs con el despliegue de su versión, pero son útiles para mantenerlos a la vista; por ejemplo, puede depurar remotamente el código que se ejecuta en una máquina diferente utilizando los PDB de su máquina para obtener los números de línea de las excepciones. ocurrir.

Sin el uso de los .PDB, los números de línea y los nombres de los archivos no se incluyen en los stacktraces, por lo que es mucho más difícil depurarlos.


Si desea deshabilitar la generación de archivos pdb, debe usar el cuadro de diálogo "Advanced build settings" disponible en las propiedades del proyecto después de hacer clic en el botón "Advanced..." " ubicado en la parte inferior de la pestaña Build .

Establezca Output - Debug info: en None para la configuración de compilación de la versión y no se generarán archivos pdb.


Usted controla la generación de pdb / símbolos en las propiedades del proyecto en Crear -> Avanzado ... -> Información de depuración :. Las opciones son:

  • ninguno (no hay información de símbolos)
  • completo (se producirá un .pdb, y parte de la información de los símbolos se incrusta en el ensamblaje)
  • pdb-only (se producirá un .pdb pero el ensamblaje no se ve afectado)

Consulte http://msdn.microsoft.com/en-us/library/8cw0bt21%28VS.80%29.aspx para obtener más información.

Le recomiendo encarecidamente que elija la opción pdb-only, no la opción none, ya que aún le brinda información de símbolos sin afectar el ensamblaje; probablemente encontrará que esta es la configuración actual que tiene en sus versiones de lanzamiento.