10

Estoy trabajando en un proyecto de C# y Silverlight y de vez en cuando me encuentro con un problema donde mis puntos de interrupción ya no reciben ningún golpe cuando depuro. En el editor, no se están volviendo transparentes, así que sé que el código correcto se carga y se está ejecutando.Puntos de interrupción que no reciben ningún golpe durante la depuración en VS10

Un ejemplo sería:

tengo Value con un getter y setter y que está unido a un control. Cuando pongo un punto de interrupción en el colocador y cambio el valor de Value del control, no se golpea el punto de interrupción.

Sé que un restablecimiento de IIS corrige este problema, pero me gustaría saber la causa. ¿Alguien más encuentra un comportamiento similar? Si alguien pudiera indicarme una posible causa que sería muy apreciada.

Respuesta

8

Hay una opción en Visual Studio 2010:

  • Herramientas -> Opciones ...
  • Depuración -> General
  • "Paso sobre las propiedades y operadores (Managed solamente)"

Asegúrese de que esto no esté marcado. Esto supone que el punto de interrupción es un círculo rojo sólido, lo que indica que VS ha encontrado símbolos de depuración para él.

Alternativamente, estos elementos de código podrían decorarse con uno de varios atributos de depuración, a saber, DebuggerStepThroughAttribute, DebuggerNonUserCodeAttribute y DebuggerHiddenAttribute. Esto puede evitar que el depurador entre en el método, incluso si hay un punto de interrupción.

Por supuesto, si el código que está depurando se ha optimizado, puede parecer que le faltan líneas. No estoy seguro de lo que sucederá si intentas romper una línea que ha sido optimizada.

Si el punto de interrupción se ha quedado hueco (no es rojo fijo), es probable que Visual Studio no pueda encontrar los símbolos de depuración para el código.

Si un restablecimiento corrige el problema, tal vez hay diferencias entre el código que se está depurando y el archivo fuente original/símbolos, hay una opción para hacer que esto sea menos estricta:

  • área de opciones Igual encima.
  • "Requerir archivos de origen para coincidir exactamente con la versión original"
+0

Esto fue algo así como lo que estaba pensando. Gracias por la información sobre la configuración. Estoy bastante seguro de que esto debería encargarse de eso. –

0

que he tenido este problema recientemente. Si bien no encontré la causa exacta, una solución simple fue comprobar que la aplicación se ejecuta en modo de depuración (en lugar de versión) y limpiar/reconstruir la solución.

+0

Sé que este no es el problema. Lo primero que reviso todo el tiempo. Gracias sin embargo. –

1

Muchas veces me enfrento a este problema, aunque en las aplicaciones de winforms. Lo más simple que hago es reiniciar VS antes de limpiar y reconstruir la solución. Entonces, si nada funciona, simplemente elimine el directorio bin y vuelva a generar la reconstrucción. La última opción que hago es reiniciar la máquina.

0

Encontrado esta cuestión al tratar de entender por qué los puntos de interrupción de mi propio proyecto no estaban siendo golpeados al intentar ejecutar el código en VS2010

Resuelto que al observar las propiedades del proyecto bajo avanzadas Opciones de compilación y el establecimiento Generar depuración Información a Completa.

Puede valer la pena mencionar Salto al código Deseo depurar usando el muy útil "Test With -> Debugger" de TestDriven.net haciendo clic con el botón derecho en la función que deseo depurar.

Cuestiones relacionadas