Udostępnij za pośrednictwem


Często zadawane pytania — wyszukiwanie funkcji debugera

Ta dokumentacja zawiera często zadawane pytania dotyczące funkcji debugowania w programie Visual Studio. Kojarzy również zadania debugowania lub problemy z odpowiednią funkcją w debugerze 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 Pierwsze spojrzenie na debuger zamiast tego.

Punkty przerwania

Nawigowanie po kodzie

  • Jak mogę nauczyć się poleceń umożliwiających krokowe przechodzenie przez kod podczas debugowania?

    Aby uzyskać więcej informacji, zobacz Nawiguj kod z debuggerem.

  • 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 będzie je pomijać, dopóki nie osiągnie wiersza kodu, na którym jest kursor. 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 Nawigowanie po kodzie z użyciem debuggera.

  • 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ę, która cię interesuje.

Inspekcja i wizualizowanie danych

  • Jak mogę sprawdzić wartość zmiennych podczas uruchamiania aplikacji?

    Umieść kursor na zmiennych za pomocą wskazówek dotyczących danych lub przeglądaj zmienne w oknie Autos i Lokale.

  • Czy mogę obserwować zmianę wartości określonej zmiennej?

    Obserwuj zmienną Aby uzyskać więcej informacji, zobacz Ustaw obserwację zmiennych.

  • Jak mogę wyświetlić ciągi, które są zbyt długie dla okna debugera?

    Wizualizator łańcuchów znaków pokazuje łańcuchy, które są zbyt długie dla podpowiedzi 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 do analizy pamięci programu Visual Studio za pośrednictwem debugowania na żywo, zrzutów sterty lub profilera wydajnościowego.
    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 pomija wywołania do kodu systemu, platformy i innego kodu niebędącego kodem użytkownika. W oknie Stos wywołań, Tylko mój kod zwija te wywołania do ramki [Kod zewnętrzny]. Zobacz Debugowanie tylko kodu użytkownika za pomocą Just My Code

  • Jak mogę wyświetlić lub debugować surowe instrukcje asemblera, które wykonywane są przez mój program?

    Użyj okna dezasemblacji z polecenia Debug > Windows > Disassembly. Można przechodzić przez jedną instrukcję naraz, a nawet ustawiać punkty przerwania na poszczególnych instrukcjach assemblera.

  • Czy widzę kod źródłowy bibliotek platformy .NET?

    Włącz serwery symboli firmy Microsoft z opcji Debug > Opcje > Symbole, aby pobrać symbole i źródła bibliotek .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?

    Podczas debugowania, gdy proces jest zatrzymany na błędzie lub punkcie przerwania, wybierz Debug > 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 opcję Debuguj tylko z zarządzanych, Debuguj tylko z natywnych, Debuguj z mieszanych lub Debuguj z pamięcią zarządzaną. Zobacz pliki zrzutu

  • Czy mogę edytować kod podczas sesji debugowania?

    Użyj Hot Reload, wcześniej o nazwie Edytuj i kontynuuj. W przypadku języka XAML użyj XAML Hot Reload.

  • 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 Napraw błąd.