Visual Studio se niega a olvidar los puntos de interrupción?

216

Visual Studio recuerda los puntos de interrupción de las sesiones de depuración anteriores, lo cual es increíble.

Sin embargo, cuando estoy depurando y borro uno de estos puntos de interrupción "antiguos" haciendo clic en él, solo se elimina temporalmente. Lo que quiero decir es que la próxima vez que depure, el punto de interrupción que pensé que eliminé está de vuelta.

Esto es súper molesto, ¿hay una configuración para que no haga esto?

dan
fuente
24
Si los elimina una vez que el depurador se haya detenido, permanecerán desaparecidos para siempre.
dlev
2
informe de error cerrado "como por diseño" en 2009; explicación de MS - connect.microsoft.com/VisualStudio/feedback/details/476744/…
zomf
1
Si tiene la nueva versión beta de VS 2015, puede enviar un ceño fruncido. Tal vez ellos escuchen si todos lo hacemos.
jsuddsjr
esa URL de conexión ya no funciona, pero recuerdo que era algo relacionado con los hilos, pero ¿qué tan difícil es agregar una opción de clic derecho 'eliminar permanentemente el punto de interrupción' independientemente de la razón?
Simon_Weaver
1
¿Por qué no solo proporcionan la opción "Eliminar punto de interrupción pendiente " en el menú contextual del punto de interrupción? No es una ciencia exacta.
John

Respuestas:

131

ir al Debugmenú y luegoDelete All Breakpoints Ctrl+Shift+F9

Enjambres
fuente
39
Pruebe esto, seleccione el elemento de barra de herramientas Puntos de interrupción de la barra de herramientas Depuración. Esto abre la ventana Puntos de interrupción. Desde esta ventana, puede ver todos los puntos de interrupción en la aplicación. Aquí, selecciona y borra el punto de interrupción haciendo clic en el botón Eliminar de la barra de herramientas en el panel Puntos de interrupción.
atasca
maravilloso: la tecla de acceso rápido funciona en edición express (que no tiene ningún elemento en el menú).
fun_vit
20
no es bueno cuando quiero eliminar solo UN punto de interrupción, no todos
andrew.fox
1
Esto no soluciona el problema todo el tiempo. Lo he usado, y el punto de interrupción aún regresa. Está en un lugar molesto donde no puedo pasarlo hasta que termine de presionar continuar más de 50 veces.
Dinerdo
1
@Dinerdo En lugar de eliminarlo, puede intentar deshabilitarlo o agregar una condición que nunca es cierta.
Tom Blodget
15

El problema es que persisten los puntos de corte secundarios de sus puntos de corte. Los puntos de interrupción secundarios se crean (en ciertas situaciones) al establecer puntos de interrupción durante una sesión de depuración.

Una forma segura de eliminar un punto de interrupción (y elementos secundarios) es buscarlo manualmente en la ventana del punto de interrupción y eliminarlo desde allí. (Seleccione el nodo superior de la entrada, presione Delete).

Si está ejecutando una versión (antigua) de Visual Studio que admite macros VBScript, puede ejecutar la macro publicada aquí (entre sesiones de depuración), para eliminar puntos de interrupción secundarios. Esto hará que eliminar puntos de interrupción haciendo clic en el glifo sea algo más efectivo y predecible, pero sigue siendo problemático e incómodo.

Protector uno
fuente
12

Estaba luchando por encontrar la 'Ventana BreakPoints', así que esta es la forma rápida de abrirla- ctrl+ alt+B

ingrese la descripción de la imagen aquí


O puede ir manualmente a 'Debug-> Windows-> Breakpoints' para abrirlo.

ingrese la descripción de la imagen aquí


¡O puede presionar ctrl+ shift+ F9para eliminar todos los puntos de interrupción a la vez!

JerryGoyal
fuente
9

Aquí hay algunas respuestas, pero en mi opinión, las acciones propuestas son molestas de usar durante la depuración (no quiero perder mi enfoque).

Mi flujo con puntos de interrupción fijos durante los puntos de interrupción es el siguiente:

Durante la depuración, deshabilite el punto de interrupción en lugar de eliminarlo.

Posibles formas de deshabilitar un punto de interrupción:

  • pase el cursor por encima y haga clic en el icono de dos ciclos;
  • o use el menú contextual en él;
  • o atajo de teclado CTRL + F9 (no Shift + CTRL + F9, ya que borra todos los puntos de interrupción).

Más tarde, durante el desarrollo, elimino un punto de interrupción deshabilitado cuando veo uno.

PD. También es una buena práctica eliminar todos los puntos de interrupción de vez en cuando.

andrew.fox
fuente
1
Si deshabilitar funciona, no veo por qué los "puntos de interrupción vinculados" frente a los "puntos de interrupción pendientes" como se describe en el artículo anterior (re: cerrado por diseño) es un problema insuperable.
ItsAllABadJoke
3
  • Inicie su sesión de depuración con un número mínimo de archivos abiertos, a medida que depura los puntos de interrupción no deseados se mostrarán y los archivos que contienen se abrirán en nuevas pestañas.
  • Termine la sesión de depuración y abra la ventana de puntos de interrupción (desde la barra de herramientas de depuración, por alguna razón no está en el menú Ver).
  • Para cada archivo, ingrese el nombre del archivo en el área de búsqueda de la ventana de puntos de interrupción y presione Intro para filtrar los puntos de interrupción por archivo.
  • Luego puede hacer clic en cada punto de interrupción en la ventana para ver dónde están ubicados en el código y eliminarlos si lo desea. Un poco tedioso, pero esa es la mejor manera que encontré para deshacerme de esos puntos de interrupción fantasmas no deseados ... Gestión de marcadores y puntos de interrupción ... Es probable que esas funciones se hayan mejorado por última vez en algún momento del siglo pasado ...
pasx
fuente
1

La mayoría de los puntos de interrupción se pueden eliminar durante la sesión de depuración, pero algunos están bloqueados (probablemente un error en Visual Studio).

Si desea eliminar solo el punto de interrupción que está atascado, use las ventanas "Puntos de interrupción" que se encuentran en el menú de depuración. Allí probablemente verá que su punto de interrupción existe varias veces para la misma fila. Simplemente haga clic derecho y elimínelo.

Robert
fuente
0

Una respuesta alternativa rápida a esta vieja pregunta que me impactó con Visual Studio 2017.

Si es posible, simplemente corte y pegue el código con el punto de interrupción. El punto de quiebre desaparece con el corte.

J H
fuente
0

Vaya a depurar> ventanas> puntos de interrupción y encuentre los puntos de interrupción y elimínelos del panel.

como se respondió aquí

Hamed Mahdizadeh
fuente
0

Considero que esto es un defecto de diseño, es muy frustrante y es algo con lo que hemos tenido que vivir durante mucho tiempo. Lo golpeamos tan a menudo que se convierte en la norma. Las soluciones dadas hasta ahora son realmente alternativas.

Una mejor solución sería reunirse y votar por un cambio en la voz de usuario de Visual Studio. Parece que esto se ha registrado varias veces, por lo que deberíamos elegir uno para votar.

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/31123351-delete-disable-break-point-while-debugging-should

Ryan B
fuente
0

Si está depurando una aplicación web y establece un punto de interrupción en Chrome, el código VS respetará ese punto de interrupción y no le permitirá eliminarlo. En otras palabras, los puntos de interrupción efectivos son la suma de los puntos de interrupción establecidos en VS Code y en su Chrome. Y sí, a veces es fácil olvidar que estableces un punto de interrupción en Chrome y te pierdes al tratar de descubrir cómo eliminarlo de VS Code.

Ya
fuente