Często zadawane pytania — wyszukiwanie funkcji debugera

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

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?

    Zobacz Dołączanie do uruchomionych procesów.

  • 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

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ą?

    Zobacz Najpierw zapoznaj się z narzędziami profilowania

  • Jak rozwiązać problem z wyjątkiem?

    Zobacz Naprawianie wyjątku.