¿Cómo remedio? “El punto de interrupción no se alcanzará actualmente. No se han cargado símbolos para este documento ". ¿advertencia?

La aplicación de escritorio AC # en la edición express funcionó, pero luego no funcionó 5 segundos después.

Intenté lo siguiente:

  • Asegúrese de que la configuración de depuración, el indicador de depuración y la información de depuración completa estén configuradas en todos los ensamblados.
  • Elimine todas las carpetas bin y obj y todos los archivos DLL relacionados con el proyecto de toda mi máquina.
  • Recrea los proyectos que causan el problema desde cero.
  • Reiniciar.

Tengo dos proyectos de Windows Forms en la solución. Uno de ellos carga la información de depuración, el otro no. Ambos se refieren al ensamblado en el que estoy tratando de obtener información de depuración exactamente de la misma manera en el archivo del proyecto. ¿Algunas ideas?


Quiero agregar aquí, principalmente para mí cuando regrese para revisar esta pregunta, que los símbolos no se cargan hasta que se carga el ensamblaje y el ensamblaje no se carga hasta que se necesita. Si el punto de interrupción está en una biblioteca que solo se usa en una función en su ensamblaje principal, los símbolos no se cargarán (y mostrará el punto de interrupción como no alcanzado) hasta que se llame a esa función.

Answer

Comience a depurar, tan pronto como haya llegado a un punto de interrupción o haya usado Debug > Break All, use Debug > Windows > Modules. Verá una lista de todos los ensamblados que se cargan en el proceso. Busque el que desea obtener información de depuración. Haga clic con el botón derecho y seleccione Información de carga de símbolo. Obtendrá un cuadro de diálogo que enumera todos los directorios donde buscó el archivo .pdb para el ensamblado. Verifique esa lista con la ubicación .pdb real. Asegúrese de que no encuentre uno antiguo.

En proyectos normales, el IDE siempre debería haber copiado el ensamblaje y su archivo .pdb en la misma carpeta que su .exe, es decir, la carpeta bin \ Debug de su proyecto. Asegúrese de eliminar uno del GAC si ha estado jugando con él.

Compruebe si no está en versión pero en depuración.

Cuando en depuración:

Primero intente reconstruir su proyecto haciendo clic con el botón derecho del mouse en el proyecto> Reconstruir Si eso no funciona, intente limpiar el proyecto (haga clic con el botón derecho del mouse en el proyecto> limpiar)

Si eso no funcionó, marque esto:

  1. Haga clic con el botón derecho del mouse en su proyecto
  2. Seleccione [Propiedades]
  3. Seleccione la pestaña [Construir]
  4. Asegúrese de que [Definir constante DEBUG] y [Definir constante TRACE] estén marcados
  5. Asegúrate de que [Optimizar código] esté desmarcado.
  6. Haga clic en el botón [Avanzado] en la parte inferior de la pestaña Crear.
  7. Asegúrese de que [Información de depuración:] esté configurado en [completo]
  8. Haga clic en [Aceptar] y reconstruya el proyecto ;-)

(el paso 6 genera los archivos .pdb, estos son los símbolos de depuración)

Solo algo simple para probar, es posible que ya lo haya probado. Haga clic con el botón derecho en la solución en el explorador de soluciones, haga clic en "limpiar solución", esto elimina todos los archivos compilados y temporales asociados con una solución .

Haga una reconstrucción de la solución e intente depurar nuevamente.

También he tenido problemas con los puntos de interrupción de varios proyectos en una solución, algunos compilados como x86, otros como x64.

Desactive la opción "Solo mi código" en la configuración de depuración / general.

Publicación cruzada de esta corrección de Hans K que encontré en el hilo similar >> AQUÍ << :

Right click on solution --> Properties

Look under Common Properties --> Startup Project

Select multiple startup projects

select Start action on the projects you need to debug.

La respuesta seleccionada me llevó a solucionar mi problema. Pero necesito hacer algunas cosas más:

Incluso con "Depurar" seleccionado en el menú desplegable:

ingrese la descripción de la imagen aquí

Y en el proyecto Propiedades> Construir:

ingrese la descripción de la imagen aquí

Visual Studio no cargaba símbolos en un proyecto específico. Entonces, en ese menú desplegable, seleccioné "Administrador de configuración" y vi que la configuración de mi proyecto web era incorrecta:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Luego lo configuré en "Depurar" y comenzó a generar el .pdbarchivo. PERO necesito copiar manualmente el PDB y el DLL y colocarlo en la carpeta que VS estaba buscando (aquí es donde la respuesta seleccionada me ayudó):

ingrese la descripción de la imagen aquí

A veces, a pesar de que le da este error, breakpointtodavía se golpea, así que simplemente ignore el error. Esto sucede con bastante frecuencia en el Viewsde un MVC web app.

Debug> Windows> ModulesPara ver qué medidas se están cargados los módulos me puso en la dirección correcta.

En mi caso, IIS Express parecía estar cargando una DLL diferente de los archivos temporales de ASP.NET.

¿La solución?

  1. Navega a C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. ¡Elimina todo en este directorio!

Pude corregir el error simplemente configurando la opción en 'Adjuntar al proceso' en la opción 'Determinar automáticamente el tipo de código para depurar' como se muestra en la captura de pantalla adjunta.

Simplemente siga los pasos a continuación:

  • Vaya a Depurar desde la barra de menú
  • Haga clic en Adjuntar al proceso
  • Cerca de la opción Adjuntar a , haga clic en el botón Seleccionar
  • La Selección de Código Tipo aparecerá la ventana
  • Ahora seleccione la opción Determinar automáticamente el tipo de código a depurar y haga clic en el botón Aceptar.

Error de depuración fijo

Verifique si su archivo .pbd falta en su carpeta bin / Debug. Si es así, vaya a "Propiedades" de su proyecto, seleccione "Construir" y luego "Avanzado" en la parte inferior. Elija "completo" en "Información de depuración" en la nueva ventana que apareció. Este era mi problema y lo resolvió por mí.

Mostrando dónde encontrar la configuración

En mi caso, se marcó "Optimizar código" en las propiedades de mi proyecto. Esto hizo que VS viera mi ensamblado como "no mi código" y, a su vez, no cargó símbolos para él.

La solución fue desmarcar esto. Ubicación de la casilla de verificación Optimizar código

Simplemente verifique si su solución está en modo de lanzamiento.

Intente ejecutar Visual Studio como administrador dentro de Windows.

En mi caso, estoy tratando de depurar en modo relase. Una vez que lo cambio al modo de depuración. Esta funcionando

->Opciones de depuración ->General ->Desmarque la marca para " Enable Just My Code"

Esto funcionó para mí.

Debes habilitar "Generar información de depuración" en la configuración del compilador.

Consulte su Solution Configurationlista desplegable. Asegúrate de seleccionar Debug, no Release.

Encontramos la causa de nuestro problema. Este código utilizaba el atributo "CodeBehind" en la directiva de página del archivo .aspx en lugar del atributo "CodeFile" (ASP.NET 2.0 y posteriores). Después de días de desesperación, una simple búsqueda y reemplazo resolvió el problema.

La opción "Iniciar depuración, Depurar + Windows + Módulos" no existe en la edición Microsoft Visual Studio Express 2013.

Desmarcando "Usar modo de compatibilidad administrada" en Herramientas Opciones Depuración soluciona este problema.

Probé todo lo mencionado anteriormente, pero nada funcionó. [Limpie la solución y compruebe si hay archivos PDB, etc.]

Incluso publicar la misma solución no resolvió el problema.

Luego volví a lo que suelo hacer para resolver (engañar a este obstinado Visual Studio)

Todo lo que hice fue hacer un cambio deliberado en el código y publicar la solución. Luego revirtí el cambio y volví a publicar.

Voila [Archivos PDB deshacerse de los espíritus malignos] .. No es una resolución inteligente, pero esto funcionó ..: - |

Aplicaciones web (IIS Express) únicamente:

  • Haga clic con el botón derecho en la bandeja IIS Express y cierre IIS.
  • Solución limpia

Bandeja IIS

  1. Limpiar la solución y reconstruir
  2. Verifique que la configuración esté establecida en Depurar
  3. Asegúrese de que el archivo PDB esté en la carpeta Debug.
  4. En el menú Depurar, haga clic en Habilitar todos los puntos de interrupción

Compruebe si las siguientes dos configuraciones son iguales en Visual Studio:

Haga clic con el botón derecho en el proyecto de prueba, vaya a Propiedades, pestaña Construir y mire el objetivo de la plataforma

Los míos están configurados en "Cualquier CPU", por lo que x64

ingrese la descripción de la imagen aquí

En la barra del menú principal, vaya a Prueba, Configuración de prueba, Arquitectura de procesador predeterminada

El mío estaba configurado en X86

ingrese la descripción de la imagen aquí

Cambiar esto a X64 para que coincida con la configuración anterior hizo que el menú integrado de Visual Studio "Prueba (s) de depuración" funcionara y alcanzara los puntos de interrupción que anteriormente se ignoraron con el mensaje "El punto de interrupción no se alcanzará actualmente. No se han cargado símbolos para este documento ”.

Actualizar:

Para Visual Studio 2019, los menús se han movido un poco: ingrese la descripción de la imagen aquí

Ninguna de esas respuestas resolvió mi problema. Probé otra cosa basándome en el hecho de que el proyecto con la parada no era en realidad el proyecto cargado. Encontré como Hans Passant escribió que el .dll donde quiero detener el depurador y los archivos .pdb asociados se copiaron cerca del archivo .exe. Esos archivos tienen una fecha anterior, así que pensé que no se actualizaron en el tiempo de ejecución. Los eliminé manualmente, Visual Studio creó otro par Y puse este nuevo par cerca del .exe. ¡Ahora el breakpoins funciona!

Quizás Visual Studio no pueda copiar y REEMPLAZAR archivos existentes (.dll y .pdb) cerca del .exe ya que hay otro allí. Entonces, si eliminé manualmente, VS podría crear uno nuevo cerca de .exe.

Creo que otros cambios (verificaciones, etc., de las otras respuestas) desencadenaron algo y Visual Studio copió y reemplazó el dll y el pdb de la carpeta del proyecto a la carpeta cerca del exe, así que esa fue una solución.

Creo que la causa raíz del problema es que Visual Studio usa otro archivo en tiempo de ejecución, no el archivo del proyecto, con la parada.

¡Quizás esta respuesta para ayudar a alguien!

Tuve un problema similar e hice lo siguiente: Depurar => Opciones => General => Quitar la marca de verificación para "Habilitar solo mi código" Esto funcionó para mí ..

Cosas que debe verificar solo para que quede claro: asegúrese de tener la configuración establecida en 'Depurar' y no en 'Liberar'. Puede depurar el proyecto de inicio en el modo 'Lanzamiento', pero no en una biblioteca de clases referenciada.

Propiedades del proyecto (luego seleccione su configuración de compilación)> pestaña Compilación> Avanzado ...> Información de depuración (menú desplegable)

Establecer en 'todo' o 'solo pdb' y luego reconstruir

En lugar de hacer todas estas cosas solo

Cerrar y reabrir

la solución solucionará el problema

Sé que llego años tarde, pero pensé que había hecho algo mal y seguí los pasos anteriores, luego me di cuenta de que había configurado la solución en 'Liberar' por error :)

Esto me tomó un tiempo probar otras opciones anteriores y, por alguna extraña razón, la depuración dejó de funcionar.

Tool -> Options -> Debugging -> General -> (untick) "Require source files to exactly match the original version" option