Samouczek: debugowanie aplikacji konsolowej .NET przy użyciu Visual Studio dla komputerów Mac

Ważne

Firma Microsoft ogłosiła wycofanie Visual Studio dla komputerów Mac. Visual Studio dla komputerów Mac nie będą już obsługiwane od 31 sierpnia 2024 r. Alternatywy obejmują:

Aby uzyskać więcej informacji, zobacz Visual Studio dla komputerów Mac ogłoszenie o wycofaniu.

W tym samouczku przedstawiono narzędzia debugowania dostępne w Visual Studio dla komputerów Mac.

Wymagania wstępne

Korzystanie z konfiguracji kompilacji debugowania

Debugowanie i wydawanie to wbudowane konfiguracje kompilacji programu Visual Studio. Konfiguracja kompilacji debugowania służy do debugowania i konfiguracji wydania dla końcowej dystrybucji wydania.

W konfiguracji debugowania program kompiluje pełne symboliczne informacje debugowania i brak optymalizacji. Optymalizacja komplikuje debugowanie, ponieważ relacja między kodem źródłowym i wygenerowanymi instrukcjami jest bardziej złożona. Konfiguracja wydania programu nie zawiera żadnych symbolicznych informacji debugowania i jest w pełni zoptymalizowana.

Domyślnie Visual Studio dla komputerów Mac używa konfiguracji kompilacji debugowania, więc nie trzeba jej zmieniać przed debugowaniem.

  1. Uruchom Visual Studio dla komputerów Mac.

  2. Otwórz projekt utworzony w sekcji Tworzenie aplikacji konsolowej platformy .NET przy użyciu Visual Studio dla komputerów Mac.

    Bieżąca konfiguracja kompilacji jest wyświetlana na pasku narzędzi. Na poniższym obrazie paska narzędzi pokazano, że program Visual Studio jest skonfigurowany do kompilowania wersji debugowania aplikacji:

    Visual Studio toolbar with debug highlighted

Ustawianie punktu przerwania

Punkt przerwania tymczasowo przerywa wykonywanie aplikacji przed wykonaniem wiersza z punktem przerwania.

  1. Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę. W tym celu umieść kursor w wierszu kodu i naciśnij klawisz \ (polecenie+\). Innym sposobem ustawienia punktu przerwania jest wybranie pozycji Debuguj>przełącz punkt przerwania z menu.

    Program Visual Studio wskazuje wiersz, w którym punkt przerwania został ustawiony przez wyróżnienie go i wyświetlenie czerwonej kropki na lewym marginesie.

    Visual Studio Program window with breakpoint set

  2. Naciśnij klawisz { (wprowadź polecenie+), aby uruchomić program w trybie debugowania. Innym sposobem rozpoczęcia debugowania jest wybranie opcji Debuguj>rozpocznij debugowanie z menu.

  3. Wprowadź ciąg w oknie terminalu, gdy program wyświetli monit o nazwę, a następnie naciśnij klawisz Enter.

  4. Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania przed wykonaniem Console.WriteLine metody.

    Screenshot of a breakpoint in Visual Studio

Korzystanie z okna natychmiastowego

Okno Natychmiastowe umożliwia interakcję z aplikacją, którą debugujesz. Możesz interaktywnie zmienić wartość zmiennych, aby zobaczyć, jak ma to wpływ na program.

  1. Jeśli okno natychmiastowe nie jest widoczne, wyświetl je, wybierając pozycję Wyświetl>debugowanie systemu Windows>Natychmiast.

  2. Wprowadź w name = "Gracie"oknie Natychmiastowy i naciśnij klawisz Enter.

  3. Wprowadź w currentDate = currentDate.AddDays(1)oknie Natychmiastowy i naciśnij klawisz Enter.

    W oknie Natychmiastowy zostanie wyświetlona nowa wartość zmiennej ciągu i właściwości DateTime wartości.

    Immediate Window in Visual Studio

    W oknie Ustawienia lokalne są wyświetlane wartości zmiennych zdefiniowanych w aktualnie wykonywanej metodzie. Wartości zmiennych, które właśnie zmieniono, są aktualizowane w oknie Ustawienia lokalne .

    Locals Window in Visual Studio

  4. Naciśnij klawisz { (wprowadź polecenie+), aby kontynuować debugowanie.

    Wartości wyświetlane w terminalu odpowiadają zmianom wprowadzonych w oknie Natychmiastowy .

    Jeśli nie widzisz terminalu, wybierz pozycję Terminal — HelloWorld na dolnym pasku nawigacyjnym.

    Terminal - Hello World in bottom navigation bar

  5. Naciśnij dowolny klawisz, aby zamknąć program.

  6. Zamknij okno terminalu.

Ustawianie warunkowego punktu przerwania

Program wyświetla ciąg wprowadzony przez użytkownika. Co się stanie, jeśli użytkownik nic nie wprowadzi? Można to przetestować za pomocą przydatnej funkcji debugowania nazywanej warunkowym punktem przerwania.

  1. kliknij czerwoną kropkę reprezentującą punkt przerwania. W menu kontekstowym wybierz pozycję Edytuj punkt przerwania.

  2. W oknie dialogowym Edytowanie punktu przerwania wprowadź następujący kod w polu, które następuje poniżej. Poniższy warunek ma wartość true, a następnie wybierz pozycję Zastosuj.

    String.IsNullOrEmpty(name)
    

    Editor showing breakpoint settings panel

    Za każdym razem, gdy punkt przerwania zostanie trafiony, debuger wywołuje metodę String.IsNullOrEmpty(name) i przerywa działanie w tym wierszu tylko wtedy, gdy wywołanie metody zwraca truewartość .

    Zamiast wyrażenia warunkowego można określić liczbę trafień, która przerywa wykonywanie programu przed wykonaniem instrukcji określoną liczbę razy.

  3. Naciśnij klawisz { (wprowadź polecenie+), aby rozpocząć debugowanie.

  4. W oknie terminalu naciśnij klawisz Enter po wyświetleniu monitu o wprowadzenie swojej nazwy.

    Ponieważ określony warunek (name lub nullString.Empty) został spełniony, wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania.

  5. Wybierz okno Ustawienia lokalne, w którym są wyświetlane wartości zmiennych lokalnych dla aktualnie wykonywanej metody. W tym przypadku Main jest to metoda aktualnie wykonująca. Zwróć uwagę, że wartość zmiennej name to "", czyli String.Empty.

  6. Można również zobaczyć, że wartość jest pustym ciągiem, wprowadzając name nazwę zmiennej w oknie Natychmiastowy i naciskając klawisz Enter.

    Immediate window showing name is an empty string

  7. Naciśnij klawisz { (wprowadź polecenie+), aby kontynuować debugowanie.

  8. W oknie terminalu naciśnij dowolny klawisz, aby zamknąć program.

  9. Zamknij okno terminalu.

  10. Wyczyść punkt przerwania, klikając czerwoną kropkę na lewym marginesie okna kodu. Innym sposobem wyczyszczenia punktu przerwania jest wybranie pozycji Debuguj > przełącz punkt przerwania podczas wybierania wiersza kodu.

Przechodzenie przez program

Program Visual Studio umożliwia również wykonywanie kroków według linii przez program i monitorowanie jego wykonywania. Zazwyczaj należy ustawić punkt przerwania i śledzić przepływ programu przez niewielką część kodu programu. Ponieważ ten program jest mały, można przejść przez cały program.

  1. Ustaw punkt przerwania na nawiasie klamrowym, który oznacza początek Main metody (naciśnij polecenie+\).

  2. Naciśnij klawisz { (wprowadź polecenie+), aby rozpocząć debugowanie.

    Program Visual Studio zatrzymuje się w wierszu z punktem przerwania.

  3. Naciśnij klawisz I (shift+polecenia+I) lub wybierz pozycję Debuguj>krok do, aby przejść do jednego wiersza.

    Program Visual Studio wyróżnia i wyświetla strzałkę obok następnego wiersza wykonywania.

    Visual Studio step into method

    W tym momencie okno Ustawienia lokalne pokazuje, że tablica args jest pusta i namecurrentDate ma wartości domyślne. Ponadto program Visual Studio otworzył pusty terminal.

  4. Naciśnij ⇧I (shift+polecenia+I).

    Program Visual Studio wyróżnia instrukcję zawierającą przypisanie zmiennej name . W oknie Ustawienia lokalne jest wyświetlana name wartość null, a w terminalu zostanie wyświetlony ciąg "Jaka jest Twoja nazwa?".

  5. Odpowiedz na monit, wprowadzając ciąg w oknie konsoli i naciskając klawisz Enter.

  6. Naciśnij ⇧I (shift+polecenia+I).

    Program Visual Studio wyróżnia instrukcję zawierającą przypisanie zmiennej currentDate . W oknie Ustawienia lokalne jest wyświetlana wartość zwrócona przez wywołanie Console.ReadLine metody . W terminalu zostanie wyświetlony ciąg wprowadzony w wierszu polecenia.

  7. Naciśnij ⇧I (shift+polecenia+I).

    W oknie Ustawienia lokalne jest wyświetlana wartość currentDate zmiennej po przypisaniu z DateTime.Now właściwości . Terminal pozostaje niezmieniony.

  8. Naciśnij ⇧I (shift+polecenia+I).

    Program Visual Studio wywołuje metodę Console.WriteLine(String, Object, Object) . W terminalu zostanie wyświetlony sformatowany ciąg.

  9. Naciśnij klawisz U (shift+polecenia+U) lub wybierz pozycję Uruchom>wyjście.

    Terminal wyświetla komunikat i czeka na naciśnięcie klawisza.

  10. Naciśnij dowolny klawisz, aby zamknąć program.

Korzystanie z konfiguracji kompilacji wydania

Po przetestowaniu wersji debugowania aplikacji należy również skompilować i przetestować wersję wydania. Wersja wydania zawiera optymalizacje kompilatora, które mogą negatywnie wpłynąć na zachowanie aplikacji. Na przykład optymalizacje kompilatora, które mają na celu poprawę wydajności, mogą tworzyć warunki wyścigu w aplikacjach wielowątkowymi.

Aby skompilować i przetestować wersję wydania aplikacji konsolowej, wykonaj następujące kroki:

  1. Zmień konfigurację kompilacji na pasku narzędzi z Debuguj na Wydanie.

    default Visual Studio toolbar with release highlighted

  2. Naciśnij klawisz (enter polecenia+opcji+), aby uruchomić bez debugowania.

Następne kroki

W tym samouczku użyto narzędzi debugowania programu Visual Studio. W następnym samouczku opublikujesz wdrożoną wersję aplikacji.