Visual Studio odmawia zapomnienia punktów przerwania?

216

Program Visual Studio zapamiętuje punkty przerwania z poprzednich sesji debugowania, co jest niesamowite.

Jednak gdy debuguję i klikam jeden z tych „starych” punktów przerwania, jest on tylko tymczasowo usuwany. Mam na myśli to, kiedy następnym razem debuguję, punkt przerwania, który, jak myślałem, usunąłem, powrócił.

To jest bardzo denerwujące - czy jest takie ustawienie, żeby tego nie robić?

dan
źródło
24
Jeśli usuniesz je po zatrzymaniu debugera, pozostaną na zawsze.
dlev
2
raport o błędach został zamknięty „zgodnie z projektem” w 2009 r .; wyjaśnienia od MS - connect.microsoft.com/VisualStudio/feedback/details/476744/…
zomf
1
Jeśli masz nową wersję beta VS 2015, możesz wysłać zmarszczenie brwi. Może wszyscy posłuchają, jeśli wszyscy to zrobimy.
jsuddsjr
ten łączący adres URL już nie działa - ale pamiętam, że chodziło o wątki - ale jak trudno jest dodać opcję „trwale usunąć punkt przerwania” prawym przyciskiem myszy, bez względu na przyczynę ???
Simon_Weaver,
1
Dlaczego nie zapewniają tylko opcji „Usuń oczekujący punkt przerwania” w menu kontekstowym punktu przerwania? To nie czarna magia.
Jan

Odpowiedzi:

131

Debugnastępnie przejdź do menuDelete All Breakpoints Ctrl+Shift+F9

zacina się
źródło
39
Spróbuj tego, wybierz element paska narzędzi Punkty przerwania z paska narzędzi Debugowanie. Pojawi się okno punktów przerwania. W tym oknie możesz wyświetlić wszystkie punkty przerwania w aplikacji. Tutaj wybierasz i czyścisz punkt przerwania, klikając przycisk Usuń na pasku narzędzi w panelu Punkty przerwania.
dżemy
cudownie - klawisz skrótu działa w trybie ekspresowym (który nie ma pozycji w menu).
fun_vit
20
nie dobrze, gdy chcę usunąć tylko JEDEN punkt przerwania, nie wszystkie z nich
andrew.fox
1
To nie rozwiązuje problemu przez cały czas. Użyłem go, a punkt przerwania wciąż powraca .. Jest w irytującym miejscu, w którym nie mogę go ominąć, dopóki nie skończę naciskać kontynuować ponad 50 razy.
Dinerdo
1
@Dinerdo Zamiast go usunąć, możesz spróbować go wyłączyć lub dodać warunek, który nigdy nie jest prawdziwy.
Tom Blodget
15

Problem polega na tym, że punkty przerwania potomnego w punktach przerwania utrzymują się. Punkty przerwania podrzędne są tworzone (w niektórych sytuacjach) podczas ustawiania punktów przerwania podczas sesji debugowania.

Pewnym sposobem na usunięcie punktu przerwania (i dzieci) jest ręczne wyszukanie go w oknie punktu przerwania i usunięcie go z tego miejsca. (Wybierz górny węzeł wpisu, naciśnij Delete.)

Jeśli używasz (starej) wersji programu Visual Studio, która obsługuje makra VBScript, możesz uruchomić makro opublikowane tutaj (między sesjami debugowania), aby usunąć punkty przerwania dla dzieci. Sprawi to, że usuwanie punktów przerwania poprzez kliknięcie glifu będzie nieco bardziej skuteczne i przewidywalne, ale nadal będzie problematyczne i niewygodne.

Protektor jeden
źródło
12

Z trudem znajdowałem „Okno BreakPoints”, więc oto szybki sposób, aby je otworzyć - ctrl+ alt+B

wprowadź opis zdjęcia tutaj


Lub możesz ręcznie przejść do „Debuguj-> Windows-> Punkty przerwania”, aby go otworzyć.

wprowadź opis zdjęcia tutaj


Lub możesz nacisnąć ctrl+ shift+, F9aby usunąć wszystkie punkty przerwania jednocześnie!

JerryGoyal
źródło
9

Tutaj jest kilka odpowiedzi, ale moim zdaniem proponowane działania są rozpraszające podczas debugowania (nie chcę stracić koncentracji).

Mój przepływ z lepkimi punktami przerwania podczas punktów przerwania jest następujący:

Podczas debugowania WYŁĄCZ punkt przerwania zamiast go usuwać.

Możliwe sposoby wyłączenia punktu przerwania:

  • najedź kursorem i kliknij ikonę dwóch cykli;
  • lub użyj na nim menu kontekstowego;
  • lub skrót klawiszowy CTRL + F9 (nie Shift + CTRL + F9, ponieważ usuwa wszystkie punkty przerwania).

Później, podczas programowania, usuwam wyłączony punkt przerwania, gdy go widzę.

PS. Dobrą praktyką jest również usuwanie od czasu do czasu wszystkich punktów przerwania.

andrew.fox
źródło
1
Jeśli wyłączanie działa, nie rozumiem, dlaczego „powiązane punkty przerwania” vs. „oczekujące punkty przerwania”, jak opisano w powyższym artykule (ponownie: zamknięte przez projekt), stanowią problem nie do pokonania.
ItsAllABadJoke
3
  • Rozpocznij sesję debugowania z minimalną liczbą otwartych plików, ponieważ podczas debugowania pojawią się niechciane punkty przerwania, a pliki zawierające zostaną otwarte w nowych kartach.
  • Zakończ sesję debugowania i otwórz okno punktów przerwania (z paska narzędzi debugowania, z jakiegoś powodu nie ma go w menu widoku).
  • Dla każdego pliku wprowadź nazwę pliku w obszarze wyszukiwania w oknie punktów przerwania i naciśnij klawisz Enter, aby odfiltrować punkty przerwania według pliku.
  • Następnie możesz kliknąć każdy punkt przerwania w oknie, aby zobaczyć, gdzie znajdują się w kodzie i usunąć je, jeśli chcesz. Trochę żmudne, ale to najlepszy sposób, w jaki udało mi się pozbyć niechcianych punktów przerwania duchów ... Zarządzanie zakładkami i punktami przerwania .. Te funkcje zostały prawdopodobnie ostatnio ulepszone w ostatnim stuleciu ...
pasx
źródło
1

Większość punktów przerwania można usunąć podczas sesji debugowania, ale niektóre utknęły (prawdopodobnie błąd w Visual Studio).

Chcesz usunąć tylko zablokowany punkt przerwania, a następnie użyj okien „Punkty przerwania” znajdujących się w menu debugowania. Tam prawdopodobnie zobaczysz, że twój punkt przerwania istnieje wiele razy dla tego samego wiersza. Wystarczy kliknąć prawym przyciskiem myszy i usunąć.

Robert
źródło
0

Szybka alternatywna odpowiedź na to stare pytanie, które właśnie uderzyło mnie w Visual Studio 2017.

Jeśli to możliwe, po prostu wytnij i wklej kod z punktem przerwania. Punkt przerwania zanika wraz z cięciem.

JH
źródło
0

Przejdź do debugowania> okna> punkty przerwania, znajdź punkty przerwania i usuń je z panelu.

tak, jak tu odpowiedziano

Hamed Mahdizadeh
źródło
0

Uważam to za wadę projektową, jest bardzo frustrująca i coś, z czym musieliśmy żyć od dłuższego czasu. Uderzamy go tak często, że staje się normą. Dotychczasowe rozwiązania naprawdę działają.

Lepszym rozwiązaniem byłoby zebranie się i głosowanie za zmianą w Voice Studio User Visual. Wygląda na to, że zostało to zarejestrowane kilka razy, więc powinniśmy wybrać jeden do głosowania.

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

Ryan B.
źródło
0

Jeśli debugujesz aplikację internetową i ustawisz punkt przerwania w chrome, kod VS zaakceptuje ten punkt przerwania i nie pozwoli ci go usunąć. Innymi słowy, skuteczne punkty przerwania są sumą punktów przerwania ustawionych w kodzie VS i w twoim chrome. I tak, czasami łatwo zapomnieć, że ustawiłeś punkt przerwania w chrome i zgubiłeś się, próbując wymyślić, jak go usunąć z VS Code.

Ya.
źródło