Pregunta

Quiero depurar una aplicación en Visual Studio pero SOLO tengo el código fuente para 1 clase.Solo necesito recorrer una única función en ese archivo, pero no entiendo qué necesito para hacerlo.Creo que los pasos normalmente son algo como esto:

  1. Abrir un archivo en VS
  2. Cargar en los "símbolos" (archivo .PDB)
  3. Adjuntar al proceso en ejecución

Sé cómo hacer los números 1 y 3, pero no sé cómo hacer el número 2 sin el archivo .PDB.¿Es posible generar el archivo .PDB para que esto funcione?¡Gracias!

¿Fue útil?

Solución

Necesita archivos *.pdb (paso 2 de su publicación). Estos archivos contienen mapeo entre el código fuente y el ensamblado compilado.Entonces tus pasos son correctos.Si su archivo fuente tiene diferencias con el archivo original, establezca la marca de verificación "Permitir que el código fuente sea diferente de la versión original" en el cuadro de diálogo de propiedades de BP.

Puntos de interrupción y puntos de seguimiento en Visual Studio

Si no tiene archivos PDB, puede intentar descompilar su proyecto usando Reflector.FileDisassembler o Generador de archivos para reflector.Pueden recompilar estos archivos para obtener PDB.

Échale también un vistazo a Deblector - complemento de depuración para Reflector.

Otros consejos

Necesita el archivo de símbolos (.PDB) que pertenece a la aplicación que está intentando depurar.

MSDN:Archivos PDB

El depurador de Visual Studio utiliza la ruta al PDB en el archivo EXE o DLL para buscar el archivo project.pdb.Si el depurador no puede encontrar el archivo PDB en esa ubicación, o si la ruta no es válida, por ejemplo, si el proyecto se movió a otra computadora, el depurador busca la ruta que contiene el EXE seguida de las rutas de símbolos especificadas en el cuadro de diálogo Opciones. .Esta ruta suele ser la carpeta Depuración en el nodo Símbolos.El depurador no cargará una PDB que no coincida con el binario que se está depurando.

El archivo de símbolos es el archivo .pdb.Si lo coloca al lado del ejecutable, cargará los símbolos y apuntará al archivo fuente.

En su caso, 'Símbolos' significa un archivo pdb para el ensamblaje que desea depurar.El depurador no requiere que tenga toda la fuente, solo que tenga el pdb correspondiente.El pdb se genera durante la compilación del ensamblaje y, desafortunadamente, no se puede crear uno después del hecho.Si no tiene el pdb, necesitará depurar en un nivel inferior al código fuente.

Si construyó el ensamblaje en su máquina, los símbolos se encontrarán cuando lo conecte.En ese caso, simplemente establezca un punto de interrupción en la fuente y haga lo que sea necesario para que ese código se ejecute, y alcanzará el punto de interrupción.

Si no lo construyó, necesita encontrar el pdb para el ensamblaje.La ventana de módulos que se encuentra en Depurar/Windows/Módulos a menudo puede ayudar al indicarle los ensamblados cargados en el proceso junto con la información de la versión y las marcas de tiempo.

Necesitará esa información en los casos en los que pueda haber varias versiones de un ensamblado (como mantener muchas compilaciones nocturnas o las últimas 20 versiones aproximadamente de compilaciones de integración continua).

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top