2010-04-11 19 views

Respuesta

37

clic en Depurar, Nuevo punto de interrupción, la interrupción en la función, a continuación, introduzca el nombre completo de la función.

+2

No pude Hacer que esto funcione en VS2012 ya que dijo que no podía verificar la función ción. Parecía poder encontrar funciones dentro de la solución, pero no en bibliotecas referenciadas. – Sam

+2

Ignore esa advertencia y debería funcionar de todos modos – SLaks

+5

Ahora es claro para mí, pero recuerde incluir el espacio de nombre completo de la función excluyendo el paréntesis. –

13

Usted puede hacer una de las siguientes:

  1. Agregar el proyecto DLL a la solución que contiene el ejecutable. Luego puede establecer puntos de interrupción como normales.
  2. Se podría en su lugar sólo abrir el proyecto DLL y utilizar la depuración -> conectar con el proceso de adjuntar a su EXE en ejecución
+11

(2) Me parece fácil: simplemente ejecute dos instancias de Studio una al lado de la otra. Ctrl-F5 en la 'primaria' para iniciar sin el depurador conectado, luego conéctelo al proceso con la instancia del estudio que está editando el proyecto de biblioteca. –

+2

Frep D -Ordenar, debería agregar eso como una respuesta, parece ser el enfoque más fácil en general. –

+0

@ FrepD-Oronge Ojalá pudiera leer su comentario 2 horas y 39 minutos atrás. ¡Usted rock! Definitivamente es la solución más fácil. – Nova

5

Asegúrese de que tiene el archivo .pdb en la carpeta bin/debug donde la clase referenciada la biblioteca dll reside. Cuando esté depurando su solución actual, debería poder acceder al código de la biblioteca de su clase. Cuando ingrese a la biblioteca de la clase, podrá establecer puntos de interrupción.

15

En Visual Studio, abra el archivo fuente de la DLL de referencia que contiene el método deseado menú utilizando manualmente

Archivo> Abrir> Archivo ...

Luego ajuste el punto de interrupción haciendo clic en el borde izquierdo en el editor de código. Esto le permite interrumpir en cualquier línea de código y no solo en llamadas de función. Visual Studio muestra el punto de interrupción en una especie de estado desactivado, porque cree que el código es inalcanzable. Simplemente ignóralo; el punto de interrupción se activará una vez que se ejecute el código.

5

Sé que esto es una cuestión de edad, pero puede ser de ayuda para muchos.

Para el depurador funcione correctamente, es necesario cargar la depuración de base de símbolos, un archivo .pdb con el mismo nombre que el ensamblaje desea depurar. Si es parte de una solución que ha creado, puede copiarla y pegarla desde la carpeta bin de la otra solución. A continuación, agregue un punto de interrupción que especifique la ruta completa al método que desea depurar, más el nombre del ensamblaje en el que vive. EX: "MyNamespace.MayClass.MyMethod, MyAssemblyName"

Si no posee el código que tiene 2 opciones, ambas involucran a un difusor. Yo uso dotPeek para esto, ya que realmente se mece.

Opción 1: se abre el montaje con dotPeek y crear un único .pdb para que, a continuación, copiarlo a la carpeta .bin y sigue los pasos anteriores. https://www.jetbrains.com/decompiler/help/Generating_PDB_Files.html

Opción 2: utilizar dotPeek servidor de símbolos y AP Generación. https://www.jetbrains.com/decompiler/help/Symbol_Server_and_PDB_Generation.html Después de eso, siga las instrucciones anteriores para adjuntar una instancia de depurador.

Esperanza esto ayuda

+0

Guau, la generación de PDP dotPeek es increíble. –

+0

También hay una herramienta que puede recuperar el PDB directamente de los servidores de símbolos (configurado de forma predeterminada en el servidor de símbolos MS oficial [http://msdl.microsoft.com/download/symbols]): https://github.com/rajkumar -rangaraj/PDB-Downloader. –

0

Ésta no es mi propia respuesta, fue la sugerencia de Frep D-Oronge en uno de los comentarios anteriores. Es fácil y funciona sin contratiempos:

"Me resulta fácil - simplemente ejecutar dos instancias de lado a lado del estudio.Ctrl-F5 en la 'primaria' uno para poner en marcha sin el depurador asociado, a continuación, asociar al proceso con la instancia del estudio que se está editando el proyecto de biblioteca"

Todos los créditos se deben a él.

Cuestiones relacionadas