visual ver studio puntos punto puede modo interrupción interrupcion fuente establecer encuentra ejecutar codigo aplicacion actualmente activará .net visual-studio debugging breakpoints

.net - ver - ¿Cómo puedo establecer un punto de interrupción en el código de referencia en Visual Studio?



punto de interrupcion visual studio 2017 (6)

Mi solución principal es usar el código de una biblioteca de clases de utilidad, que escribí yo mismo, pero es parte de otra solución. ¿Cómo puedo establecer un punto de interrupción en el archivo DLL al que se hace referencia?


Asegúrese de tener el archivo .pdb en la carpeta bin / debug donde reside la dll de la biblioteca de clases a la que se hace referencia. Cuando esté depurando su solución actual, debería poder ingresar al código desde su biblioteca de clases. Cuando entras en la biblioteca de clases podrás establecer puntos de interrupción.


En Visual Studio, abra el archivo fuente de su dll referenciado que contiene el método deseado manualmente usando el menú

Archivo> Abrir> Archivo ...

A continuación, establezca el punto de interrupción haciendo clic en el borde izquierdo en el editor de código. Esto le permite interrumpir cualquier línea de código y no solo en las llamadas a funciones. Visual Studio muestra el punto de interrupción en una especie de estado deshabilitado, porque piensa que el código es inalcanzable. Simplemente ignóralo; el punto de interrupción se activará una vez que se ejecute el código.

Nota: debe hacer referencia a una versión de depuración de su ensamblaje para que esto funcione.


Esta 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 parece fácil: solo ejecute dos instancias de Studio una al lado de la otra. Presione Ctrl-F5 en la ''primaria'' para iniciar sin el depurador adjunto, luego adjúntela al proceso con la instancia de studio que está editando el proyecto de la biblioteca"

Todos los créditos son para él.


Haga clic en Depurar, Nuevo punto de interrupción, Interrumpir en función, luego ingrese el nombre completo de la función.


Puedes hacer uno de los siguientes:

  1. Agregue el proyecto DLL a la solución que contiene su ejecutable. A continuación, puede establecer puntos de interrupción como normal.
  2. En su lugar, podría simplemente abrir el proyecto DLL y usar la opción Depurar -> Adjuntar al proceso para adjuntarlo a su EXE en ejecución.

Sé que esta es una pregunta antigua, pero puede ser de ayuda para muchos.

Para que el depurador funcione correctamente, debe cargar la base de datos de símbolos de depuración, un archivo .pdb con el mismo nombre que el ensamblaje que desea depurar. Si es parte de una solución que creó, puede copiarla y pegarla desde la carpeta bin de la otra solución. Luego 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, tiene 2 opciones, ambas con un desensamblador. Yo uso dotPeek para esto, ya que realmente oscila.

Opción 1: abre el ensamblaje con dotPeek y crea un único .pdb para eso, luego lo copia en su carpeta .bin y sigue los pasos anteriores. https://www.jetbrains.com/decompiler/help/Generating_PDB_Files.html

Opción 2: usar el servidor de símbolos dotPeek y la generación de PDB. https://www.jetbrains.com/decompiler/help/Symbol_Server_and_PDB_Generation.html Luego, siga las instrucciones anteriores para adjuntar una instancia de depurador.

Espero que esto ayude