que escuché usando archivos PDB pueden ayudar a diagnosticar dónde ocurrió un bloqueo?
Mi básico entendiendo es que le das a Visual Studio el archivo fuente, el archivo pdb y la información del bloqueo (del Dr. Watson?)
¿Puede alguien explicar cómo funciona todo/qué implica? (¡Gracias!)¿Cómo uso los archivos PDB
Respuesta
Los archivos PDB se generan cuando crea su proyecto. Contienen información relacionada con los binarios creados que Visual Studio puede interpretar.
Cuando un programa se bloquea y genera un informe de bloqueo, Visual Studio puede tomar ese informe y vincularlo de nuevo al código fuente a través del archivo PDB de la aplicación. ¡Los archivos PDB deben compilarse desde el mismo archivo binario que generó el informe de bloqueo!
Hay algunos problemas que hemos encontrado con el tiempo.
- La máquina que está depurando el informe de fallas necesita tener la fuente en la misma ruta que la máquina que creó el binario.
- versión se basa a menudo a optimizar en la medida en que no se puede ver el estado de las variables miembro del objeto
Si alguien sabe cómo derrotar a la antigua, estaría agradecido por alguna entrada.
Una forma de ayudar con la ruta del archivo fuente: use SUBST para asignar una letra de unidad a un directorio en particular. http://technet.microsoft.com/en-us/library/bb491006.aspx – MarkJ
La mayoría de los depuradores que he visto también le permiten introducir reemplazos de ruta arbitrarios, pero posiblemente eso no esté disponible en Visual Studio. Nunca lo intenté, pero es una de estas cosas que generalmente necesita hacer para depurar un programa compilado por otra persona. – jakobengblom2
Los archivos PDB asignan el MSIL de un ensamblaje a las líneas fuente originales. Esto significa que si coloca el PDB que se compiló con el ensamblaje en el mismo directorio que el ensamblado, los rastreos de su pila de excepción tendrán los nombres y las líneas de las posiciones en los archivos fuente originales. Sin el archivo PDB, solo verá el nombre de la clase y el método para cada nivel del seguimiento de la pila.
+1: Para una buena descripción de lo que contiene una "base de datos de programa" (PDB). – AMissico
Debería considerar la configuración de un servidor de símbolos y la indexación de los archivos PDB a su sistema de control de código fuente. Recientemente realicé este proceso para nuestro producto y funciona muy bien. No tiene que preocuparse por hacer que los archivos PDB estén disponibles con los binarios, ni cómo obtener el código fuente apropiado al depurar los archivos dump.
libro de John Robbins: http://www.amazon.com/Debugging-Microsoft-NET-2-0-Applications/dp/0735622027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1222366012&sr=8-1
Mire aquí por un código de ejemplo para generar minivolcados (que no tiene que limitarse a un análisis posterior al accidente - se puede generar en cualquier momento de su código sin estrellarse): http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx
¡Excelente enlace sobre cómo configurar un servidor de símbolos fuente! Podría hacer eso. +1 para el enlace. – dotnetdev
- 1. ¿Cómo combino varios archivos PDB?
- 2. Cómo CLR localiza los archivos de símbolos pdb
- 3. ¿Cuál es el formato (esquema) de los archivos .NET PDB?
- 4. ¿Cuánta información contienen los archivos pdb? (C#/.NET)
- 5. ¿Cuál es el propósito de los archivos pdb?
- 6. Visual Studio 2010 no genera archivos .pdb
- 7. OpenCover/NUnit no puede encontrar archivos PDB
- 8. Archivos PDB en VisualStudio bin \ carpetas de depuración
- 9. NuGet: incluir archivos .pdb y excluye la carpeta "Contenido"
- 10. Leyendo un archivo .pdb
- 11. Implementación de archivos .PDB en IIS. Cualquier beneficio?
- 12. ¿Cómo se transfieren los argumentos del script a pdb (Python)?
- 13. ¿Cuál es el archivo PDB?
- 14. Deshabilitar la generación de archivos PDB en MsBuild
- 15. ¿Por qué necesito archivos ILK, PDB y EXP?
- 16. Ejecute pdb sin stdin/stdout usando FIFO
- 17. Cómo observa una variable en pdb
- 18. Cómo pdb Código Python con entrada?
- 19. python pdb - salto de bucle
- 20. Eliminar referencias de PDB del archivo publicado
- 21. ¿Cómo creo y uso un servidor de símbolos?
- 22. Uso de PowerShell para agregar una extensión a los archivos
- 23. ¿Qué es un archivo PDB?
- 24. Incrustar pdb en el ensamblado
- 25. ¿Cómo ignoro los archivos con la GUI de Git?
- 26. Uso de .htaccess para restringir el acceso a los archivos
- 27. El uso de los archivos de log4j src/maravilloso
- 28. Gráficos N-Quad: ¿cómo los uso?
- 29. windbg: símbolos de pdb privados
- 30. Python pdb (debugger) disp equivalente?
Gracias por las respuestas hasta el momento (voy a dejar la pregunta abierta un poco más) también he encontrado esto útil: http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx – hamishmcn