W moim wystąpieniu Visual Studio, nawet jeśli napisałem tylko jedną linię zwrotu w aplikacji konsolowej C #, F5wykonanie właściwego kodu zajmie mi minutę po naciśnięciu (mam na myśli czas potrzebny do zatrzymania pojedynczej instrukcji powrotu po naciśnięcie F5- ustawiam punkt przerwania w instrukcji return w main
funkcji). Co jest nie tak? Czy jest lista kontrolna?
Używam Visual Studio 2008 w wersji VSTS i debugowania w systemie Windows Server 2003 x64.
Odpowiedzi:
Może być konieczne usunięcie wszystkich punktów przerwania --- pamiętaj, że musisz kliknąć przycisk „Usuń wszystkie punkty przerwania” (lub użyć Ctrl+ Shift+ F9), a nie tylko usuwać je jeden po drugim. Jeśli program Visual Studio zmienił ustawienia rozwiązania, to drugie nie zadziała. Być może będziesz musiał najpierw dodać punkt przerwania, aby to zadziałało (sprytne, co?).
Jeśli najgorsze stanie się najgorsze, może być konieczne usunięcie
.suo
pliku i pozwolenie programowi Visual Studio na rozpoczęcie nowego od zera. Pamiętaj jednak, że utracisz swoje osobiste ustawienia konfiguracji rozwiązania (tylko w przypadku tego rozwiązania, a nie innych). Możesz jednak tymczasowo przenieść / zmienić nazwę pliku, dopóki nie ustalisz, czy jest to problem; w ten sposób zawsze możesz go cofnąć. Widziałem, jak niektóre zasoby internetowe zalecają usunięcie (przeniesienie / zmianę nazwy) również.ncb
pliku.źródło
Widziałem to już wcześniej. Spróbuj usunąć wszystkie punkty przerwania, a następnie ustaw te, które chcesz. Hit F5. Czy teraz jest szybszy?
Właśnie zauważyłem, że wspomniałeś o konfiguracji funkcji debugowania źródła .NET. Spróbuj to wyłączyć. Twoja łączność sieciowa z serwerem źródłowym firmy Microsoft może być powolna. Wyłącz także wszelkie połączenia z serwerem symboli w menu Narzędzia → Opcje → Debugowanie → Symbole .
Spróbuj również wyłączyć opcję „Włącz ocenę właściwości i inne niejawne wywołania funkcji” w menu Narzędzia → Opcje → Debugowanie → Ogólne .
źródło
Lub usuń plik .suo, który znajduje się obok pliku rozwiązania (.sln). To rozwiązało problem, który miałem z sesjami debugowania, których rozpoczęcie i zatrzymanie trwało długo.
źródło
.suo
, ponownie otwarty i debugowanie jest ponownie szybkie.Miałem ten problem. Po wypróbowaniu wszystkich wymienionych porad i usunięciu wszystkich rozszerzeń Visual Studio, w końcu zorientowaliśmy się, że w jakiś sposób włączono IntelliTrace. Wyłączenie tego naprawiło wszystko.
Instrukcje: włączanie i wyłączanie funkcji IntelliTrace
źródło
Czy masz ustawionych dużo punktów przerwania? To może naprawdę spowolnić czas uruchamiania. Za każdym razem, gdy nowy moduł jest ładowany do przestrzeni adresowej procesu, wszystkie muszą zostać sprawdzone, aby zobaczyć, czy są prawidłowe.
źródło
Przejdź do menu Narzędzia → Opcje → Debugger → Symbole i sprawdź, czy masz ustawione symbole publiczne lub ścieżki sieciowe UNC . Sprawdź także menu Narzędzia * → Opcje → Debuger → Ogólne, aby zobaczyć, czy masz ustawiony serwer źródłowy.
Wszystko to może mieć wpływ na debugowanie w przypadku niskiej szybkości sieci lub niedostępnych serwerów. 5-minutowy czas oczekiwania to przekroczenie limitu czasu sieci.
Jeśli nic w opcjach nie jest ustawione, sprawdź, czy masz ustawioną zmienną środowiskową _NT_SYMBOL_PATH.
źródło
Mój kolega miał bardzo wolno odpowiadający program Visual Studio i wykonanie kroku podczas debugowania zajęło dosłownie kilka minut.
Główną przyczyną okazał się program antywirusowy (Threatfire), który zwariował podczas działania programu Visual Studio. Zabicie tego procesu natychmiast naprawiło wszystko.
źródło
W moim przypadku zmiana symbolu debugowania „Automatycznie ładuj symbol dla” z opcji „Wszystkie moduły” na „Tylko określone moduły” rozwiązała problem. Możesz zmienić tę opcję w menu Narzędzia → Opcje → Debugowanie → Symbole .
źródło
Inna przyczyna plus ... Jak znaleźć problem
Dla mnie była to opcja ShowOtherThreadIpMarkers . Wartość 1 sprawia, że program Visual Studio (2010) jest nieznośnie wolny (3-5 sekund na każdy krok debugowania. Wartość 0 oznacza, że znowu działa szybko.
Co to za opcja? Nie mam pojęcia. Nie mogłem go znaleźć za pośrednictwem interfejsu użytkownika programu Visual Studio. Odznacziłem wszystkie możliwe opcje debugowania i nic nie działało.
Więc poszedłem do Import / Export Settings i załadowałem moje stare ustawienia, które wcześniej zapisałem, cofając się w czasie, aż Visual Studio znów było szybkie, a następnie porównałem pliki vssettings ... itd., Itd.
Chciałbym zauważyć, że jeśli załadujesz ustawienia, gdy jesteś w trybie debugowania zatrzymanym w punkcie przerwania, zaczną obowiązywać natychmiast. Nie musisz zatrzymywać debugera i restartować.
źródło
Z bloga ScottGu, do którego linkował Travis: „Jeszcze jeden problem z wydajnością, o którym ostatnio słyszałem, to problem, na który kilka osób zgłosiło napotkanie z dodatkiem paska narzędzi Google Toolbar. Z jakiegoś powodu może to czasami powodować duże opóźnienia podczas dołączania grafiki Studio debugger do przeglądarki. Jeśli widzisz duże opóźnienia podczas ładowania aplikacji internetowej i masz zainstalowany pasek narzędzi Google Toolbar (lub inne paski narzędzi), możesz spróbować je odinstalować, aby sprawdzić, czy to jest przyczyną problemu ”.
źródło
Uruchamianie pod debugerem było dla mnie około 10 razy wolniejsze niż uruchamianie bez debugowania.
Po wypróbowaniu każdego sugerowanego tutaj rozwiązania przeszedłem przez wszystkie ustawienia debugera i włączyłem / wyłączyłem, aby sprawdzić, czy to coś zmieni.
U mnie okazało się, że wyłączenie optymalizacji Suppress JIT przy ładowaniu modułu w ustawieniach debugowania znacznie poprawiło sytuację.
źródło
Upewnij się, że nie masz żadnych przestarzałych mapowań sieciowych na serwery, które już nie istnieją (przekroczenie limitu czasu sieci zabije). Lub użyj czegoś takiego jak Process Monitor, aby sprawdzić, czy sieć (lub inny błąd pliku) wydaje się blokować przez długi czas.
źródło
Czy używasz serwera symboli do pobierania symboli dla plików DLL systemu Windows?
Jeśli tak, wyłącz to, ponieważ może to zająć trochę czasu, ale nie spodziewałbym się, że spowoduje to duże opóźnienia w podstawowej aplikacji konsolowej.
Menu Narzędzia → Opcje → Debugowanie → Symbole .
źródło
Wiem, że to stary temat, ale na co warto ...
Zauważyłem, że jeśli mam otwarte oddzielne okno przeglądarki Internet Explorer przez długi czas, rozpoczęcie debugowania może zająć nawet minutę. Zamknij wszystkie okna przeglądarki Internet Explorer, a debugowanie rozpocznie się natychmiast.
źródło
W moim przypadku Google Toolbar spowalniał moje debugowanie.
gplus_notifications_gadget.html po prostu kontynuował i przeciążał debugger. Chciałem zachować Google Toolbar, ponieważ używam go regularnie, więc po prostu wyłączyłem przycisk powiadomień G + (mały przycisk obok przycisku profilu). Teraz jest szczęśliwy.
źródło
Miałem ten sam problem w Visual Studio 2010, z potwornie powolnym wprowadzaniem kodu (od 3 do 10 sekund). Jednak żadna z powyższych modyfikacji ustawień nie zadziałała.
W końcu znalazłem ostateczne rozwiązanie, które działałoby we wszystkich powyższych problemach z postami: zresetuj wszystkie ustawienia, jak opisano tutaj (zasadniczo menu Narzędzia → Ustawienia importu i eksportu , Zresetuj wszystkie ustawienia , z zapisaniem istniejących ustawień do pliku (w celu przywrócenia )).
Możesz najpierw zapisać określoną część ustawień. Na przykład najpierw zapisałem motyw kolorów (podobny do solaryzacji), a następnie przywróciłem go po zresetowaniu globalnym.
źródło
Dla mnie ustawieniem, które zabiło wydajność (Windows 8 zawiesił się nawet z wyjątkiem ruchu myszy), było odznaczenie „Przerwij wszystkie procesy, gdy jeden proces się zepsuje” w menu Opcje → Debugowanie → Ogólne .
źródło
Jeszcze tylko jedna przyczyna powolnego debugowania programu Visual Studio ...
Dawno temu mogłem
FusionLog
zobaczyć, co powoduje problem z wiązaniem zestawu.Upewnij się, że wyłączyłeś go po użyciu. Czemu? Ponieważ zapisuje wiele danych logowania na dysk, gdy jest włączony.
To jest
FusionLog
klucz w rejestrze systemu Windows (regedit.exe
):Zmień wartości
ForceLog
,LogImmersive
iLogResourseBindings
z 1 (włączone) na 0 (wyłączone).źródło
Ja też miałem ten problem, ale w moim przypadku nie miało to nic wspólnego z punktami przerwania. To były skróty do kodu, które dodałem w oknie zadań:
http://www.customsoftwareframeworks.com/blog/longwaittimetoinsertoraddalineoftextbuginvisualstudio--tasklistwindow--onlywhenaddingandremovelines
Jestem pewien, że są inne sposoby, aby zobaczyć taki problem, ale jest gdzieś błąd, który spowodował ten problem ... usunięcie wszystkich moich opcji naprawiłoby to, ale tego nie chciałem zrobić. Więc zdebugowałem to i napisałem o tym na swoim blogu ... Twój problem brzmi jak mój.
źródło
Coś, co zadziałało, to upewnienie się, że nie ma warunkowych punktów przerwania. Poza tym udało mi się naprawić powolne debugowanie, po prostu ponownie uruchamiając Visual Studio i otwierając tylko jedno wystąpienie Visual Studio na raz.
źródło
Miałem podobny problem i żadne inne wskazówki nie pomogły. Zrestartowałem komputer bez skutku. Usunąłem wszystkie punkty przerwania, skasowałem plik .suo, sprawdziłem, czy symbole nie są ładowane ze źródeł zewnętrznych, i sprawdziłem, czy w niedostępnej aplikacji nie ma ścieżek.
Potem pomyślałem, żeby wyczyścić roztwór. Zauważyłem w oknie wyjściowym, że C # IntelliSense zgłosił problem podczas czyszczenia:
W takim przypadku, gdy faktycznie odkryjesz komunikat o błędzie, informuje on dokładnie, jak go rozwiązać. (Dobra robota w przypadku tekstu błędu, słaba praca w wykrywalności!) Zwolniłem projekty rozwiązania, a następnie załadowałem je ponownie. Udało mi się wtedy pomyślnie uruchomić czyste rozwiązanie . Zadziałało, debugger też.
źródło
Zamknięcie okna „Autos” poprawiło debugowanie w programie Visual Studio 2008 dla dużego, natywnego rozwiązania C ++.
Ukrywanie tego nie zadziała. To musi być zamknięte.
źródło
Doświadczyłem tego samego spowolnienia i odłączenia się od sieci rozwiązało problem, jak stwierdzono w innych komentarzach i odpowiedziach (ale oczywiście nie jest to idealne rozwiązanie).
W moim przypadku ta jedna prosta zmiana naprawiła moje rozwiązanie: We właściwościach projektu na karcie debugowania wyłączyłem opcję „Włącz proces hostingu programu Visual Studio” (używam programu Visual Studio 2010).
źródło
Uzyskaj więcej pamięci i szybszy HD. Więcej szczegółów tutaj .
źródło