visual ucrtbased studio puede proyecto para modo este entre encuentra diferencia depurar depuracion debug configuracion compilacion cambie archivo abrir c# .net debugging deployment pdb-files

c# - ucrtbased - no se encuentra el archivo pdb o no se puede abrir visual studio 2017



¿Cómo puedo incluir números de línea en un seguimiento de pila sin un pdb? (4)

Actualmente, estamos distribuyendo una aplicación WinForms sin archivos .pdb para ahorrar espacio en máquinas cliente y descargar ancho de banda. Cuando tenemos rastros de pila, obtenemos nombres de métodos pero no números de línea. ¿Hay alguna manera de obtener los números de línea sin recurrir a la distribución de los archivos .pdb?


No es la respuesta adecuada para su pregunta, pero tengo una sugerencia. Podría incorporar un mecanismo de registro y obtener estos archivos de registro junto con los rastreos de la pila. Si incluye números de línea en sus mensajes de registro, puede combinar la información de registro con su seguimiento de pila manualmente.

Si no desea ocupar mucho espacio, puede usar archivos de registro de tamaño limitado, de esta manera solo se conservarán los mensajes de registro más recientes.

Usamos la biblioteca log4net para nuestras necesidades de registro, le recomiendo que eche un vistazo.


No no hay. Toda la información necesaria para mapear líneas de IL al archivo fuente original y al número de línea se almacenan dentro del AP. No es posible obtener esa información en el seguimiento de la pila sin el PDB.


No puede obtener un seguimiento de pila con números de línea directamente desde su aplicación a menos que agrupe el PDB. Sin embargo , si tiene los archivos PDB para la misma versión de la aplicación que envía a sus clientes, y no le molestan las secuencias de comandos ligeras, puede convertir el seguimiento de la pila .NET y los desplazamientos IL en números de línea.

Durante su proceso de compilación, use el convertidor pdb2xml de Mike Stall , distribuido como parte de su excelente depurador de código administrado MDbg , y guárdelos en un lugar seguro (por ejemplo, control de origen). Cuando obtiene un seguimiento de la pila desde el cliente, puede consultar el desplazamiento IL desde los datos XML para determinar el número de línea relevante. Si tus seguimientos de pila se envían a un sitio web, incluso puedes automatizar la conversión, de modo que los desarrolladores ya estén obteniendo los rastros de pila completamente detallados para cuando los casos lleguen a su bandeja de entrada.


No. Los números de línea son parte de la información de depuración, que solo se almacena en el archivo PDB. Esa es la razón por la cual los archivos PDB existen en primer lugar.