Visual Studio weigert sich, Haltepunkte zu vergessen?

216

Visual Studio merkt sich Haltepunkte aus früheren Debugging-Sitzungen, was großartig ist.

Wenn ich jedoch debugge und einen dieser "alten" Haltepunkte durch Klicken lösche, wird er nur vorübergehend gelöscht. Was ich meine ist, dass beim nächsten Debuggen der Haltepunkt, von dem ich dachte, ich hätte ihn entfernt, zurück ist.

Das ist super nervig - gibt es eine Einstellung, die es dazu bringt, dies nicht zu tun?

Dan
quelle
24
Wenn Sie sie entfernen, sobald der Debugger gestoppt wurde, bleiben sie endgültig verschwunden.
dlev
2
Fehlerbericht "wie beabsichtigt" bereits 2009 geschlossen; Erklärung von MS - connect.microsoft.com/VisualStudio/feedback/details/476744/…
zomf
1
Wenn Sie die neue Beta von VS 2015 haben, können Sie ein Stirnrunzeln senden. Vielleicht hören sie zu, wenn wir es alle tun.
jsuddsjr
Diese Verbindungs-URL funktioniert nicht mehr - aber ich erinnere mich, dass es sich um Threads handelte - aber wie schwierig ist es, eine Rechtsklick-Option zum dauerhaften Entfernen des Haltepunkts hinzuzufügen, unabhängig vom Grund?
Simon_Weaver
1
Warum bieten sie nicht einfach die Option " Ausstehenden Haltepunkt löschen" im Kontextmenü des Haltepunkts? Das ist kein Hexenwerk.
John

Antworten:

131

Gehen Sie dann zum DebugMenüDelete All Breakpoints Ctrl+Shift+F9

Marmeladen
quelle
39
Versuchen Sie dies, indem Sie das Symbolleistenelement Haltepunkte in der Debug-Symbolleiste auswählen. Dies öffnet das Fenster Haltepunkte. In diesem Fenster können Sie alle Haltepunkte in der Anwendung anzeigen. Hier können Sie den Haltepunkt auswählen und löschen, indem Sie in der Symbolleiste im Bereich Haltepunkte auf die Schaltfläche Löschen klicken.
Marmeladen
wunderbar - Hotkey funktioniert in der Express Edition (die keinen Menüpunkt enthält).
fun_vit
20
nicht gut, wenn ich nur
EINEN
1
Dies behebt das Problem nicht immer. Ich habe es benutzt und der Haltepunkt kommt immer noch zurück. Es ist an einem nervigen Ort, an dem ich nicht darüber hinwegkommen kann, bis ich mehr als 50 Mal auf Weiter geklickt habe.
Dinerdo
1
@Dinerdo Anstatt es zu löschen, können Sie versuchen, es zu deaktivieren oder eine Bedingung hinzuzufügen, die niemals wahr ist.
Tom Blodget
15

Das Problem ist, dass untergeordnete Haltepunkte Ihrer Haltepunkte bestehen bleiben. Untergeordnete Haltepunkte werden (in bestimmten Situationen) erstellt, wenn Haltepunkte während einer Debugsitzung festgelegt werden.

Eine todsichere Möglichkeit, einen Haltepunkt (und untergeordnete Elemente) zu löschen, besteht darin, ihn manuell im Haltepunktfenster zu suchen und von dort zu löschen. (Wählen Sie den obersten Knoten des Eintrags aus und drücken Sie Delete.)

Wenn Sie eine (alte) Version von Visual Studio ausführen , die VBScript - Makros unterstützt, können Sie das Makro ausführen gepostet hier (zwischen Debug - Sitzungen), Kinder Stützpunkte zu entfernen. Dies macht das Entfernen von Haltepunkten durch Klicken auf die Glyphe etwas effektiver und vorhersehbarer, ist jedoch weiterhin problematisch und umständlich.

Beschützer eins
quelle
12

Ich hatte Probleme, das 'BreakPoints-Fenster' zu finden. Hier ist der schnelle Weg, es zu öffnen- ctrl+ alt+B

Geben Sie hier die Bildbeschreibung ein


Oder Sie können manuell zu 'Debug-> Windows-> Haltepunkte' gehen, um es zu öffnen.

Geben Sie hier die Bildbeschreibung ein


Oder Sie können ctrl+ shift+ F9drücken, um alle Haltepunkte gleichzeitig zu löschen!

JerryGoyal
quelle
9

Hier gibt es einige Antworten, aber meiner Meinung nach sind die vorgeschlagenen Aktionen beim Debuggen ablenkend (ich möchte meinen Fokus nicht verlieren).

Mein Fluss mit klebrigen Haltepunkten während Haltepunkten ist wie folgt:

Deaktivieren Sie während des Debuggens den Haltepunkt, anstatt ihn zu entfernen.

Mögliche Möglichkeiten zum Deaktivieren eines Haltepunkts:

  • Bewegen Sie den Mauszeiger mit dem Cursor und klicken Sie auf das Symbol mit zwei Zyklen.
  • oder verwenden Sie das Kontextmenü;
  • oder Tastenkombination STRG + F9 (nicht Umschalt + STRG + F9, da alle Haltepunkte gelöscht werden).

Später, während der Entwicklung, entferne ich einen deaktivierten Haltepunkt, wenn ich einen sehe.

PS. Es ist auch eine gute Praxis, ab und zu alle Haltepunkte zu entfernen.

andrew.fox
quelle
1
Wenn die Deaktivierung funktioniert, verstehe ich nicht, warum "gebundene Haltepunkte" im Vergleich zu "ausstehenden Haltepunkten", wie im obigen Artikel beschrieben (vom Entwurf wieder geschlossen), ein unüberwindbares Problem ist.
ItsAllABadJoke
3
  • Starten Sie Ihre Debug-Sitzung mit einer minimalen Anzahl geöffneter Dateien, da beim Debuggen die unerwünschten Haltepunkte angezeigt werden und die enthaltenen Dateien in neuen Registerkarten geöffnet werden.
  • Beenden Sie die Debug-Sitzung und öffnen Sie das Fenster mit den Haltepunkten (in der Debug-Symbolleiste befindet es sich aus irgendeinem Grund nicht im Ansichtsmenü).
  • Geben Sie für jede Datei den Namen der Datei in den Suchbereich des Haltepunktfensters ein und drücken Sie die Eingabetaste, um die Haltepunkte nach Datei herauszufiltern.
  • Sie können dann auf jeden Haltepunkt im Fenster klicken, um zu sehen, wo sie sich im Code befinden, und sie löschen, wenn Sie möchten. Ein bisschen langweilig, aber das ist der beste Weg, diese unerwünschten Geister-Haltepunkte loszuwerden ... Lesezeichen- und Haltepunktverwaltung ... Diese Funktionen wurden wahrscheinlich irgendwann im letzten Jahrhundert zuletzt verbessert ...
pasx
quelle
1

Die meisten Haltepunkte können während der Debug-Sitzung entfernt werden, einige stecken jedoch fest (wahrscheinlich ein Fehler in Visual Studio).

Wenn Sie nur den feststeckenden Haltepunkt entfernen möchten, verwenden Sie die Fenster "Haltepunkte" im Debug-Menü. Dort werden Sie wahrscheinlich sehen, dass Ihr Haltepunkt für dieselbe Zeile mehrmals vorhanden ist. Einfach mit der rechten Maustaste klicken und löschen.

Robert
quelle
0

Eine schnelle alternative Antwort auf diese alte Frage, die mich gerade mit Visual Studio 2017 getroffen hat.

Wenn möglich, schneiden Sie einfach den Code mit dem Haltepunkt aus und fügen Sie ihn ein. Der Haltepunkt verschwindet mit dem Schnitt.

JH
quelle
0

Gehen Sie zu Debug> Windows> Haltepunkte, suchen Sie Haltepunkte und entfernen Sie diese aus dem Bereich.

wie es hier beantwortet wurde

Hamed Mahdizadeh
quelle
0

Ich halte dies für einen Konstruktionsfehler, der sehr frustrierend ist und mit dem wir schon lange leben mussten. Wir haben es so oft getroffen, dass es einfach zur Norm wird. Die bisher gegebenen Lösungen funktionieren wirklich.

Eine bessere Lösung wäre, sich zusammenzutun und für eine Änderung der Visual Studio User Voice zu stimmen. Es scheint, dass dies einige Male protokolliert wurde, also sollten wir einen auswählen, um abzustimmen.

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

Ryan B.
quelle
0

Wenn Sie eine Webanwendung debuggen und einen Haltepunkt in Chrome festlegen, berücksichtigt VS-Code diesen Haltepunkt und lässt Sie ihn nicht entfernen. Mit anderen Worten, die effektiven Haltepunkte sind die Summe der in VS Code und in Ihrem Chrom festgelegten Haltepunkte. Und ja, manchmal vergisst man leicht, dass Sie einen Haltepunkt in Chrome setzen und sich verlieren, wenn Sie versuchen, herauszufinden, wie Sie ihn aus VS Code entfernen können.

Ja.
quelle