visual studio puntos punto puede proyecto pero para modo interrupción interrupcion este establecidos establecer enlazados encuentra depurar depuracion configuracion condicional compilacion cambie aun aplicacion actualmente activará c# debugging visual-studio-2005 breakpoints

c# - studio - Punto de interrupción no conectado cuando se depura en VS.Net 2005



punto de interrupcion visual studio 2017 (12)

Se ha encontrado recientemente con este problema ... Al depurar una aplicación en VS.Net 2005, los puntos de interrupción no están conectados. El error indica que el código compilado no es el mismo que la versión en ejecución y, por lo tanto, existe una falta de coincidencia que causa la interrupción del punto de interrupción.

La solución limpia de todo el archivo bin y la compilación no ayuda. No solo ocurre en una sola caja o persona tampoco.

Nota agregada: esta solución está en TFS para control de fuente. Si elimino mi repositorio local de TFS y lo obtengo del control de origen desde cero, A VECES el problema desaparece. También intenté desinstalar y volver a instalar Visual Studio. Eso también A VECES ayuda. El hecho de que ambos trabajen algunas veces indica que el problema no es causado directamente por ninguno de los dos.


¿Estás creando un proyecto DLL que es consumido por un ejecutable externo? ¿Estás usando .NET o COM?

Si está utilizando la interoperabilidad COM con .NET, las versiones de DLL a veces pueden ser un problema cuando el archivo ejecutable carga la DLL. Por ejemplo, si su compilación diaria genera un número de compilación en aumento, pero su DLL de depuración tiene un número de compilación más pequeño, el archivo ejecutable no cargará la DLL de depuración. Para solucionar esto, necesitará escanear el directorio HKEY_CLASSES_ROOT / CLSID en su registro para el GUID / CLSID de su componente .NET / COM. En InProc32, elimine las entradas con un número de versión superior a su DLL de depuración.

De nuevo, lo anterior solo se aplica a .NET + COM Interop DLL.


¿Estás seguro de que los archivos .pdb están en la misma carpeta que el ejecutable que estás ejecutando? Asegúrese de que la fecha de la última modificación de ambos archivos coincida, y que VS esté adjuntado a ese exe (y no a otro).


¿La configuración de compilación está configurada en Release?

¿Tiene una referencia a una DLL externa donde se establece el punto de interrupción?


¿Puedes pasar por tu código hasta la línea del punto de interrupción en lugar de correr y esperar que golpee? ¿Puedes pasar por el código?


¿Seguro que no hay atributos de depuración en el código que impidan la depuración del código, como DebuggerHidden o DebuggerStepThrough, en cualquier punto de la aplicación?


¿Tiene un paso posterior a la compilación que toque sus binarios de alguna manera? Si es así, esto puede confundir al depurador y hacer que parezca que tus símbolos no coinciden con tu exe / dll debido a la incorrecta fecha / hora.


AviewAnew: ya lo había hecho a petición de la persona de tecnología MS. No ayudó a desmarcar requerir archivo fuente para que coincida con la versión.

Mike L: la configuración está configurada en DEBUG y ahora hay DLL externo. Uso de todos los proyectos locales excepto referencias de marco.


En Opciones -> Depuración, puede desmarcar "requerir archivos fuente para que coincida exactamente con la versión original", lo que puede ayudar.


En el pasado, a veces descubrí que desactivar las optimizaciones del compilador puede resolver puntos de interrupción "perdidos", ya que el optimizador había determinado (correctamente) que el código no se llamaba y lo eliminaba de las versiones compiladas.

Esto suena como un problema diferente, pero podría valer la pena asegurarse de que la optimización esté desactivada en el modo de depuración. [Proyecto / Propiedades, pestaña Configuración de compilación]


Tal vez esta sugerencia podría ayudar:

  1. Al depurar en Visual Studio, haga clic en Depurar> Windows> Módulos. El IDE acoplará una ventana de Módulos, mostrando todos los módulos que se han cargado para su proyecto.
  2. Busque el archivo DLL de su proyecto y verifique el estado del símbolo.
  3. Si dice Símbolos cargados, entonces estás dorado. Si dice algo así como No puede encontrar o abrir el archivo PDB, haga clic derecho en su módulo, seleccione Cargar símbolos, y busque la ruta de su PDB.

He descubierto que a veces es necesario:

  1. detener el depurador
  2. cerrar el IDE
  3. cerrar la aplicación de alojamiento
  4. Destruye las carpetas obj y bin
  5. reiniciar el IDE
  6. reconstruir el proyecto
  7. ve a través de la ventana de Módulos otra vez
  8. Una vez que navega hacia la ubicación de su archivo PDB, el estado del símbolo debería cambiar a Símbolos cargados, y ahora debería poder establecer y capturar un punto de interrupción en su línea en el código.

Fuente: El punto de ruptura no será golpeado actualmente. No se han cargado símbolos para este documento.


Tuve un problema similar en el pasado.

Se resolvió cerrando Visual Studio y eliminando los archivos temporales del ensamblado generado por ASP.NET para el proyecto en "C: / WINDOWS / Microsoft.NET / Framework {framework version} / Temporal ASP.NET Files", reabriendo el proyecto.

Lea la publicación aquí y los comentarios para resolverla.