Ta dokumentacja zawiera często zadawane pytania dotyczące funkcji debugowania w programie Visual Studio. Mapuje również zadania debugowania lub problemy z odpowiednią funkcją w debugerze programu Visual Studio. Te linki obejmują zadania lub problemy, takie jak debugowanie aplikacji wielowątkowej, nawigacja kodu, przeciek pamięci, inspekcja zmiennych, używanie punktów przerwania, debugowanie kodu zewnętrznego i wiele innych. Jeśli potrzebujesz przeglądu funkcji debugera, zobacz Najpierw zapoznaj się z debugera.
Punkty przerwania
Jak wstrzymać uruchamianie kodu w celu sprawdzenia wiersza kodu, który może zawierać usterkę?
Ustaw punkt przerwania. Aby uzyskać więcej informacji, zobacz Use the right type of breakpoint and Get started with breakpoints.
Jak wstrzymać uruchamianie kodu na podstawie określonych kryteriów?
Ustaw prawidłowy typ punktu przerwania. Aby uzyskać więcej informacji, zobacz Use the right type of breakpoint.
Jak mogę rejestrować informacje w oknie Dane wyjściowe w konfigurowalnych warunkach bez modyfikowania lub zatrzymywania kodu?
Punkty śledzenia umożliwiają rejestrowanie informacji w oknie Dane wyjściowe w konfigurowalnych warunkach bez modyfikowania ani zatrzymywania kodu. Aby uzyskać więcej informacji, zobacz Używanie punktów śledzenia w debugerze programu Visual Studio
zarządzanie punktami przerwania i śledzenie ich
Użyj okna punktów przerwania. Aby uzyskać więcej informacji, zobacz Zarządzanie punktami przerwania.
wstrzymać kod i debugować po wystąpieniu określonego obsłużonego lub nieobsługiwanego wyjątku
Mimo że pomocnik wyjątków pokazuje, gdzie wystąpił błąd, jeśli chcesz wstrzymać i debugować określony błąd, możesz poinformować debugera o przerwaniu, gdy wyjątek zostanie zgłoszony.
ustawianie punktu przerwania z stosu wywołań
Jeśli chcesz wstrzymać i debugować kod podczas badania przepływu wykonywania lub wyświetlania funkcji w oknach stosu wywołań, zobacz Ustawianie punktu przerwania w oknie stosu wywołań.
wstrzymać kod w określonej instrukcji zestawu
Można to zrobić, ustawiając punkt przerwania w oknie Dezasemblacja.
Nawigowanie po kodzie
Jak mogę nauczyć się wykonywać czynności krok po kodzie podczas debugowania?
Aby uzyskać więcej informacji, zobacz Navigate code with the debugger.
Czy mogę uruchomić kod do określonego wiersza, pomijając punkty przerwania bez ich usuwania lub wyłączania?
W tych scenariuszach można użyć polecenia "Force Run To Cursor". Punkty przerwania można zachować, a debuger przejdzie przez nie do momentu osiągnięcia wiersza kodu za pomocą kursora. Spowoduje to również pominięcie któregokolwiek z warunków przerwania wyjątków pierwszej szansy, które mogą wystąpić. Aby uzyskać więcej informacji, zobacz Navigate code with the debugger.
Jeśli wiersz kodu ma wywołania do różnych metod, czy mogę przejść do określonej metody?
Kliknij prawym przyciskiem myszy wiersz kodu, aby wyświetlić menu kontekstowe, które umożliwia wybranie pozycji "Przejdź do określonego". Spowoduje to wyświetlenie listy wszystkich metod, do których można przejść. Teraz możesz wybrać metodę zainteresowania.
Inspekcja i wizualizowanie danych
Jak mogę sprawdzić wartość zmiennych podczas uruchamiania aplikacji?
Umieść kursor na zmiennych przy użyciu wskazówek dotyczących danych lub sprawdzanie zmiennych w oknie Autos and Locals.
Czy mogę obserwować zmianę wartości określonej zmiennej?
Ustaw zegarek na zmiennej. Aby uzyskać więcej informacji, zobacz Set a watch on variables.
Jak mogę wyświetlić ciągi, które są zbyt długie dla okna debugera?
Wizualizator ciągów pokazuje ciągi, które są zbyt długie dla porad dotyczących danych lub okna debugera. Może również pomóc zidentyfikować źle sformułowane ciągi.
Wbudowane wizualizator ciągów w programie Visual Studio obejmują opcje tekstowe, XML, HTML i JSON.Jak mogę wyświetlać duże obiekty kolekcji?
Wizualizator zestawu danych umożliwia wyświetlanie zawartości elementu DataSet, DataTable, DataView lub DataViewManager. Program IEnumerable Visualizer umożliwia wyświetlanie obiektów, takich jak tablice, lista itp. Aby uzyskać więcej informacji, zobacz wizualizatory tabelaryczne.
Debugowanie aplikacji, która jest już uruchomiona
Jak można debugować uruchomione aplikacje na komputerach lokalnych lub zdalnych, debugować wiele procesów jednocześnie, debugować aplikacje, które nie zostały utworzone w programie Visual Studio lub debugować każdą aplikację, której nie uruchamiałem z poziomu programu Visual Studio?
Jak mogę wielokrotnie dołączać do tej samej aplikacji?
Możesz użyć ponownego dołączenia do procesu (Shift+Alt+P), aby łatwo umożliwić rozpoczęcie debugowania aplikacji jednym kliknięciem bez konieczności każdorazowego przechodzenia przez okno dialogowe Dołączanie do procesu. Zobacz Ponowne dołączenie do procesu
Debugowanie aplikacji wielowątkowych
Jak mogę debugować aplikację wielowątkową? Czy też moja aplikacja jest w stanie zawieszenia?
Zobacz okna stosów równoległych dalsze rozwiązywanie problemów
Jak mogę wyświetlić kolejność wywoływanych funkcji?
Zobacz Jak wyświetlić stos wywołań.
Analizowanie pamięci
Czy moja aplikacja ma przeciek pamięci?
Utwórz migawkę i otwórz ją za pomocą narzędzia pamięci, aby kontynuować rozwiązywanie problemów. Zobacz Mierzenie użycia pamięci.
Jak mogę analizować użycie pamięci dla aplikacji natywnych lub zarządzanych?
Użyj narzędzia pamięci programu Visual Studio za pośrednictwem debugowania na żywo, zrzutów sterty lub profilera wydajności.
Zobacz Wybierz narzędzie do analizy pamięci.Jak mogę analizować użycie pamięci dla aplikacji natywnych lub zarządzanych bez dołączania debugera? Użyj profilera wydajności programu Visual Studio z włączonym narzędziem użycia pamięci.
Zobacz Analizowanie użycia pamięci.Czy mogę porównać użycie pamięci między dwoma punktami w czasie?
Porównaj migawki w narzędziu pamięci lub porównaj dwa zrzuty sterty przy użyciu funkcji różnic. Zobacz Analizowanie użycia pamięci.
Debugowanie kodu zewnętrznego
Czy podczas debugowania widzę tylko kod użytkownika?
Just My Code to funkcja debugowania programu Visual Studio, która automatycznie wykonuje kroki w wywołaniach systemu, struktury i innego kodu innego niż użytkownik. W oknie Stos wywołań po prostu mój kod zwija te wywołania do ramek [Kod zewnętrzny]. Zobacz Debugowanie tylko kodu użytkownika za pomocą Just My Code
Jak mogę wyświetlić lub debugować nieprzetworzone instrukcje dotyczące zestawu wykonywane przez mój program?
Użyj okna dezasemblacji z > debugowania > dezasemblacji systemu Windows. Jednocześnie można przejść przez jedną instrukcję, a nawet ustawić punkty przerwania dla poszczególnych instrukcji dotyczących zestawu.
Czy widzę kod źródłowy bibliotek platformy .NET?
Włącz serwery symboli firmy Microsoft z pozycji Opcje > debugowania > Symbole, aby pobrać symbole i źródło bibliotek platformy .NET. Zobacz Określanie symbolu
Jak mogę załadować pliki PDB z określonej lub udostępnionej lokalizacji lub serwera?
Skonfiguruj serwery symboli na podstawie opcji debugowania >> symboli. Zobacz Określanie symbolu
Jak nigdy nie załadować określonego pliku PDB? A jak zawsze mogę go załadować?
Skonfiguruj listy dołączania i wykluczania w opcjach debugowania >> symboli.
Zobacz Określanie symbolu
Konfigurowanie debugowania
Jak skonfigurować ustawienia debugera?
Aby skonfigurować opcje debugera i ustawienia projektu debugera, zobacz Ustawienia debugera i przygotowywanie.
Jak mogę dostosować informacje wyświetlane w debugerze?
Możesz wyświetlić informacje inne niż typ obiektu jako wartość w różnych oknach debugera. W przypadku kodu C#, Visual Basic, F# i C++/CLI użyj atrybutu DebuggerDisplay. Aby uzyskać bardziej zaawansowane opcje, możesz również dostosować interfejs użytkownika, tworząc niestandardowy wizualizator. W przypadku natywnego języka C++użyj platformy NatVis.
Dodatkowe zadania
Czy muszę zapisać zrzut?
Gdy podczas debugowania zatrzymano błąd lub punkt przerwania, wybierz pozycję Debugowanie > Zapisz zrzut jako. Zobacz pliki zrzutu
Jak przeanalizować plik zrzutu?
Otwórz zrzut, wybierając pozycję Plik > Otwórz w programie Visual Studio. Aby rozpocząć debugowanie, wybierz pozycję Debuguj tylko za pomocązarządzanych, Debugowanie tylko znatywnym, Debugowanie za pomocą mieszanejlub debugowanie za pomocąpamięci zarządzanej. Zobacz pliki zrzutu
Czy mogę edytować kod podczas sesji debugowania?
Użyj Edytuj i kontynuuj. W przypadku języka XAML użyj przeładowywania kodu XAML na gorąco.
Jak mogę debugować na maszynach zdalnych?
Zobacz Debugowanie zdalne.
Jak mogę rozwiązać problemy z wydajnością?
Jak rozwiązać problem z wyjątkiem?
Zobacz Naprawianie wyjątku.