2010-06-30 9 views
15

En Visual Studio 2008 mientras depuraba un sitio web ASP.Net establecí un punto de interrupción en la página codebehind. Actualizo la página o la envío para llamar al método, se golpea el punto de interrupción. Luego elimino el punto de interrupción y continúo la ejecución. Hago un cambio en la página codebehind y la guardo. Presento o renuevo nuevamente y ¡el punto de interrupción eliminado vuelve! Se golpea de nuevo, y lo elimino de nuevo. He intentado eliminar, deshabilitar, nada funciona, sigue volviendo si realizo un cambio en la página. Es extremadamente molesto e improductivo. La única manera que he encontrado para hacer que el punto de interrupción desaparezca de manera permanente es usar el menú Eliminar del menú Eliminar todos los puntos de interrupción, que obviamente no es ideal. También he podido reproducir esto en otras máquinas de desarrollo. ¿Que esta pasando aqui? ¿Esto es por diseño? ¿Es un error en VS? ¿Cómo evito que resurjan estos puntos críticos de zombies?Visual Studio 2008 Depuración de ASP.Net Puntos de interrupción Zombie regresan después de ser eliminados

+5

"Zombie breakpoints" ... agradable. – AGoodDisplayName

+1

posible duplicado de [Pregunta sobre cómo eliminar un Visual Studio Breakpoint] (http://stackoverflow.com/questions/2569631/question-on-how-to-remove-a-visual-studio-breakpoint) – womp

Respuesta

2

Es porque los puntos de corte secundarios persisten: MSDN article.

Sus opciones son:
- Detenga su sesión de depuración, luego elimine el punto de interrupción haciendo clic en su glifo rojo.
- Encuentra el punto de interrupción en la lista de la ventana de punto de interrupción y elimínalo de allí.
- Use una macro para limpiar los puntos de corte secundarios entre las sesiones de depuración, luego elimine haciendo clic en el glifo. [1] (Extravagante, pero se siente bien cuando funciona.)
- Use una macro para eliminar un punto de interrupción en la línea seleccionada actualmente. [2]

1

He tenido este problema también. Si detiene la depuración (haga clic en detener) antes de eliminar el punto de interrupción, debería desaparecer de forma permanente.

3

Probablemente sea un error. Utilice Delete All Breakpoints (Shift + F9) o intente eliminar el punto de interrupción en el modo detenido (no Run).

+2

No es un error, es probable que sea un punto de ruptura multi-límite. Consulte http://connect.microsoft.com/VisualStudio/feedback/details/391642/permanently-remove-a-breakpoint-in-visual-studio-during-debugging – womp

+0

@womp: bueno, no lo sabía, gracias –

1

Creo que esto es por diseño.

Eliminar un punto de interrupción en modo de depuración y es temporal. Eliminar un punto de interrupción en modo de diseño y su permanente.

2

Es como el enlace de @sgiffinusa describe: es la diferencia entre un punto de interrupción pendiente y un límite. Antes de adjuntar el depurador, es una ruptura pendiente, una vez que el depurador está conectado, puede tener más de una pieza de código generado accediendo a él, y el depurador vincula un punto de interrupción a cada ruta en ese código. No lo entiendo ... pero eso es lo que parece suceder. :)

Una solución alternativa que parece funcionar para mí es que, en lugar de alternar el punto de interrupción con el mouse haciendo clic en el margen, use la tecla F9 (o lo que sea que tenga asignado) para alternar el punto de interrupción , y luego presione F9 nuevamente para volver a encenderlo, y luego F9 una vez más para deshacerse de la maldición por siempre.

No tengo idea de por qué funciona, pero lo hace en esta oficina.

Cuestiones relacionadas