Pracuję już od jakiegoś czasu nad projektem ColdFusion i Visual Studio przynajmniej dla mnie zaczął zachowywać się dziwnie.
Zauważyłem, że kiedy zacząłem debugować, zbudował projekt, rozpoczął wdrażanie, a wdrażanie zakończyło się i zaczynał ładować symbole dla mojego projektu.
Ale był bardzo powolny i nie wiem, dlaczego zaczął robić ten krok. Co mogłem zrobić?
Czy ten etap ładowania symbolu jest konieczny? Jak mogę to wyłączyć?
W oknie dialogowym Narzędzia -> Opcje -> Debugowanie -> Symbole nie dodano lokalizacji pliku symboli (.pdb). Wskazałem pole poniżej w katalogu debugowania mojego projektu i zaznaczyłem pole wyboru „Przeszukuj powyższy katalog tylko wtedy, gdy symbole są…”. Jak ustawić to okno dialogowe, aby wyłączyć ładowanie symboli?
Sprawdziłem w oknie modułów, które symbole są załadowane, ale nic mi to nie mówi. Jaki jest problem?
źródło
Odpowiedzi:
Debug -> Usuń wszystkie punkty przerwania ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) Następnie możesz ich użyć ponownie, ale zrób to pewnego razu. Spowoduje to również usunięcie pewnego rodzaju „nieprawidłowych” punktów przerwania, a następnie ładowanie symboli będzie ponownie szybkie. Goniłem za tym problemem przez kilka dni :(.
źródło
Innym powodem powolnego ładowania jest wyłączenie opcji „Włącz tylko mój kod” w opcjach debugowania. Aby to włączyć, przejdź do:
Upewnij się, że jest to zaznaczone.
źródło
Skonfiguruj w Narzędzia, Opcje, Debugowanie, Symbole.
Możesz obejrzeć okno wyjściowe (widok, wyjście), aby zobaczyć, co zwykle robi. Jeśli jest naprawdę wolny, prawdopodobnie oznacza to, że trafia na serwer symboli, prawdopodobnie Microsoft, aby pobrać brakujące symbole. To wymaga trzech trafień HTTP dla każdego pliku, którego nie może znaleźć przy każdym uruchomieniu - czasami możesz to zobaczyć na pasku stanu na dole lub np. W Fiddllerze. Możesz zobaczyć, które moduły załadowały symbole w Debug, Windows, Moduły podczas debugowania.
Symbole oznaczają, że otrzymujesz przydatne informacje o śledzeniu stosu do zestawów innych firm i systemów. Zdecydowanie potrzebujesz ich do własnego kodu, ale myślę, że ładują się niezależnie. Najlepszym rozwiązaniem jest wyłączenie wszelkich nielokalnych źródeł symboli w tym menu, a jeśli ładujesz wiele symboli dla zestawów systemowych, do których nie musisz debugować, możesz tymczasowo wyłączyć ładowanie tych, aby przyspieszyć rozpoczęcie debugowania - ale często warto je załadować.
źródło
Właśnie miałem ten problem.
Naprawiłem to, przechodząc do:
Narzędzia -> Opcje -> Debugowanie -> Symbole
Następnie odznacz wszystkie nielokalne źródła dla lokalizacji plików symboli (.pdb)
np. serwery symboli firmy Microsoft i msdl.microsoft.com/download/symbols
źródło
Miałem podobny problem. W moim przypadku ustawiłem _NT_SYMBOL_PATH do pobierania z serwerów Microsoft do użytku w WinDbg i wygląda na to, że po ustawieniu Visual Studio użyje tego bez możliwości zignorowania. Usunięcie tej zmiennej środowiskowej rozwiązało mój problem.
źródło
Możesz wypróbować następującą odpowiedź na bardzo wolne debugowanie / ładowanie programu Visual Studio :
Spróbuj także usunąć wszystkie punkty przerwania (Debuguj> Usuń wszystkie punkty przerwania),
Zobacz też : Visual Studio 2015 RC1 zawiesza się w trybie debugowania podczas ładowania symboli
źródło
Wydaje mi się, że jest to związane z punktami przerwania, jak wskazano w zaakceptowanej odpowiedzi. Jednak znalazłem dwa obejścia, które nie wymagały usunięcia wszystkich punktów przerwania:
źródło
Właśnie napotkałem ten problem. Usuwanie punktów przerwania nie działało, a przynajmniej nie tylko samo w sobie. Po niepowodzeniu poszedłem Narzędzia> Opcje> Debugowanie> Symbole i „Opróżnij pamięć podręczną symboli”
a następnie wyczyścił roztwór i odbudował.
Wydaje się, że teraz działa poprawnie. Więc jeśli wypróbujesz wszystkie inne wymienione rzeczy i nadal nie ma to znaczenia, te dodatkowe informacje mogą pomóc ...
źródło
W moim przypadku program Visual Studio szukał plików PDB innych firm w ścieżkach, które na moim komputerze odnosiły się do napędu optycznego. Bez dysku w zasobniku awaria zajęła około ~ 30 systemu Windows, co z kolei spowolniło program Visual Studio podczas próby załadowania plików PDB z tej lokalizacji. Więcej szczegółów jest dostępnych w mojej pełnej odpowiedzi tutaj: https://stackoverflow.com/a/17457581/85196
źródło
Miałem ten sam problem i nawet po wyłączeniu ładowania symbolu ładowanie modułu w Visual Studio było strasznie wolne.
Rozwiązaniem było wyłączenie oprogramowania antywirusowego (w moim przypadku NOD32) lub jeszcze lepiej, dodanie do niego wyjątków tak, aby ignorowało ścieżki, z których twój proces ładuje zestawy (w moim przypadku jest to folder GAC i tymczasowa ASP .NET Files).
źródło
Moje 2 centy,
Miałem podobny problem podczas próby uzyskania raportu diagnostycznego (Visual Studio 2013) w trybie wydania x64 (próbkowanie procesora) i podczas ładowania symboli potrzebnych plików dll nie można było załadować symboli dla mojego pliku wykonywalnego.
Nie zmieniłem niczego w menu Symbole, zamiast tego dokonałem pewnych zmian na stronach właściwości wątku mojego pliku wykonywalnego w Eksploratorze rozwiązań, a mianowicie
Właściwości konfiguracji / Ogólne / Włącz zarządzaną kompilację przyrostową na TAK
Właściwości konfiguracyjne / debugowanie / scalanie środowiska na NIE
Właściwości konfiguracji / C / C ++ / Włącz przeglądanie informacji na TAK (/ FR)
Właściwości konfiguracji / Linker / Włącz przyrostowe łączenie na TAK (/ INCREMENTAL)
EDYCJA: Ten ostatni załatwia sprawę
....
Właściwości konfiguracji / konsolidator / debugowanie / generowanie informacji debugowania na tak (/ DEBUG)
....
Potem zadziałało i poprawnie załadował symbole. Jestem pewien, że co najmniej jeden z powyższych elementów załatwił sprawę dla mnie (chociaż nie wiem dokładnie, który) i chcę tylko dać znać innym i spróbować.
pokój
źródło
Spróbuj kliknąć prawym przyciskiem myszy jeden z punktów przerwania, a następnie wybierz „Lokalizacja”. Następnie zaznacz pole wyboru „Zezwalaj na kod źródłowy różni się od wersji oryginalnej”
źródło
Opcje przyspieszania symbolu debugowania programu Visual Studio 2017, zakładając, że nie oszalałeś już na temat dostosowywania opcji:
Tools -> Options -> Debugging -> Symbols
a. Włącz opcję „Microsoft Symbol Server”
b. Kliknij „Opróżnij pamięć podręczną symboli”
. C. Ustaw pamięć podręczną symboli na łatwe do znalezienia miejsce, na przykład
C:\dbg_symbols
lub%USERPROFILE%\dbg_symbols
1A i 2 to najważniejsze kroki. 1B i 1C to po prostu pomocne zmiany, które pomogą ci śledzić twoje symbole.
Gdy aplikacja co najmniej raz załaduje wszystkie symbole, a debugowanie nie zakończyło się przedwcześnie, symbole te powinny zostać szybko załadowane przy następnym uruchomieniu debugowania.
Zauważyłem, że jeśli anuluję przebieg debugowania, muszę ponownie załadować te symbole, ponieważ domyślam się, że są one „czyszczone”, jeśli są nowo wprowadzone i nagle anulowane. Rozumiem podstawowe uzasadnienie tego rodzaju przepływu, ale w tym przypadku wydaje się on słabo przemyślany.
źródło
Usunięcie zaznaczenia „Włącz debugowanie JavaScript dla ASP.NET (Chrome i IE)” w menu Narzędzia-> Opcje-> Debugowanie-> Ogólne rozwiązało mój przypadek z niedostępnością do uruchomienia debugera VS2017 z wstępnie ustawionymi punktami przerwania.
źródło
Jedyną rzeczą, która działała dla mnie, była zmiana typu kodu.
W oknie Dołącz do procesu zmieniłem opcję Dołącz do: na Automatycznie określ typ kodu do debugowania , a następnie zostały trafione moje punkty przerwania.
Wcześniej miałem wybrany tylko kod natywny .
źródło
Miałem podobny problem, w którym Visual Studio ciągle ładowało symbol i utknęło.
Okazuje się, że dodałem kilka "argumentów wiersza poleceń" w opcjach debugowania, a jeden z parametrów jest nieprawidłowy (mam przekazać jakieś wartości).
Po usunięciu dodatkowego parametru znowu zaczyna działać.
źródło