Udostępnij przez


Samouczek: debugowanie aplikacji konsolowej .NET przy użyciu programu Visual Studio Code

W tym samouczku przedstawiono narzędzia debugowania dostępne w programie Visual Studio Code do pracy z aplikacjami platformy .NET.

W tym samouczku przedstawiono narzędzia debugowania dostępne w usłudze GitHub Codespaces do pracy z aplikacjami platformy .NET.

Warunki wstępne

Ten samouczek współpracuje z aplikacją konsolową utworzoną w Tworzenie aplikacji konsolowej platformy .NET przy użyciu programu Visual Studio Code.

Ustawianie punktu przerwania

punkt przerwania tymczasowo przerywa wykonywanie aplikacji przed uruchomieniem wiersza z punktem przerwania.

  1. Uruchom program Visual Studio Code.

  2. Otwórz folder projektu utworzonego w Utwórz aplikację konsolową platformy .NET przy użyciu programu Visual Studio Code.

  3. Otwórz plik Program.cs.

  4. Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę, klikając w lewym marginesie okna z kodem. Lewy margines znajduje się po lewej stronie numerów wierszy. Inne sposoby ustawiania punktu przerwania polegają na naciśnięciu F9 lub wybraniu Uruchom>Przełącz punkt przerwania z menu podczas wybierania wiersza kodu.

    Program Visual Studio Code wskazuje wiersz, w którym ustawiono punkt przerwania, wyświetlając czerwoną kropkę na lewym marginesie.

    zestaw punktów przerwania

  1. Otwórz swoją usługę GitHub Codespace utworzoną w sekcji Tworzenie aplikacji konsolowej platformy .NET przy użyciu programu Visual Studio Code.

  2. Otwórz plik HelloWorld.cs .

  3. Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę, klikając w lewym marginesie okna z kodem. Lewy margines znajduje się po lewej stronie numerów wierszy. Punkt przerwania można również ustawić, naciskając F9 , gdy zaznaczono wiersz kodu.

    zestaw punktów przerwania

Rozpocznij debugowanie

Debug i Release to wbudowane konfiguracje kompilacji platformy .NET. Konfiguracja buildu Debug służy do debugowania, a konfiguracja Release do końcowej dystrybucji.

Domyślnie ustawienia uruchamiania programu Visual Studio Code używają konfiguracji kompilacji debugowania, więc nie trzeba jej zmieniać przed debugowaniem.

  1. Otwórz widok Debuguj, wybierając ikonę Debugowanie w menu po lewej stronie.

    Otwórz kartę Debugowanie w programie Visual Studio Code

  2. Wybierz pozycję Uruchom i debuguj. Jeśli zostaniesz poproszony, wybierz pozycję C#, a następnie wybierz pozycję C#: Uruchom projekt startowy. Inne sposoby uruchamiania programu w trybie debugowania to naciśnięcie F5 lub wybranie Uruchom>Rozpocznij debugowanie z menu.

    Rozpocznij debugowanie

  3. Jeśli zostanie wyświetlony monit o wybranie opcji Konfiguracja uruchamiania, wybierz pozycję C#: Debuguj aktywny plik.

  4. Wybierz kartę konsoli debugowania , aby wyświetlić monit "Jaka jest Twoja nazwa?" wyświetlany przed oczekiwaniem na odpowiedź.

    Wybierz kartę Konsola debugowania

  5. Wpisz ciąg w oknie konsoli debugowania w odpowiedzi na monit o nazwę, a następnie naciśnij Enter.

    Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed uruchomieniem metody Console.WriteLine. W sekcji Locals okna Variables są wyświetlane wartości zmiennych zdefiniowanych w aktualnie uruchomionej metodzie.

    Punkt przerwania został osiągnięty, pokazuje zmienne lokalne

Domyślnie GitHub Codespaces używa konfiguracji kompilacji Debug, więc nie musisz jej zmieniać przed rozpoczęciem debugowania.

  1. Otwórz widok Debuguj, wybierając ikonę Debugowanie w menu po lewej stronie.

    Otwórz kartę Debugowanie w programie Visual Studio Code

  2. Wybierz pozycję Uruchom i debuguj. Jeśli zostanie wyświetlony monit, wybierz pozycję C# jako debuger, a następnie wybierz pozycję C#: Debuguj aktywny plik jako konfigurację uruchamiania.

  3. Wybierz kartę konsoli debugowania , aby wyświetlić monit "Jaka jest Twoja nazwa?" wyświetlany przed oczekiwaniem na odpowiedź.

  4. Wpisz ciąg w oknie konsoli debugowania w odpowiedzi na monit o nazwę, a następnie naciśnij Enter.

    Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed uruchomieniem metody Console.WriteLine. W sekcji Locals okna Variables są wyświetlane wartości zmiennych zdefiniowanych w aktualnie uruchomionej metodzie.

    Punkt przerwania został osiągnięty, pokazuje zmienne lokalne

Korzystanie z konsoli debugowania

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

  1. Wybierz kartę konsoli debugowania .

  2. Wprowadź w wierszu polecenia w dolnej części okna konsoli debugowania i naciśnij Enter.

    Zmień wartości zmiennych

  3. Wprowadź currentDate = DateTime.Parse("2026-01-28T20:54:00Z").ToUniversalTime() w dolnej części okna Konsoli debugowania i naciśnij Enter.

    W oknie Zmienne wyświetlane są nowe wartości zmiennych name i currentDate.

  4. Kontynuuj wykonywanie programu, wybierając przycisk Kontynuuj na pasku narzędzi. Innym sposobem kontynuowania jest naciśnięcie F5.

    Kontynuuj debugowanie

    Wartości wyświetlane w oknie konsoli odpowiadają zmianom wprowadzonych w konsoli debugowania .

    Terminal przedstawiający wprowadzone wartości

  5. Naciśnij wprowadź, aby zamknąć aplikację i zatrzymać debugowanie.

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 o nazwie warunkowego punktu przerwania.

  1. Kliknij prawym przyciskiem myszy na czerwonej kropce (Ctrl-kliknij w systemie macOS), która reprezentuje punkt przerwania. W menu kontekstowym wybierz pozycję Edytuj punkt przerwania, aby otworzyć okno dialogowe umożliwiające wprowadzenie wyrażenia warunkowego.

    menu kontekstowe punktu przerwania

  2. Wybierz Expression na liście rozwijanej, wprowadź następujące wyrażenie warunkowe i naciśnij Wprowadź.

    String.IsNullOrEmpty(name)
    

    wprowadź wyrażenie warunkowe

    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 true.

    Zamiast wyrażenia warunkowego można określić liczbę trafień, która przerywa wykonywanie programu przed uruchomieniem instrukcji określoną liczbę razy. Inną opcją jest określenie warunku filtru , który przerywa wykonywanie programu na podstawie takich atrybutów jak identyfikator wątku, nazwa procesu lub nazwa wątku.

  3. Uruchom program z debugowaniem, naciskając F5.

  4. Na karcie Debug Console naciśnij Enter, gdy zostaniesz poproszony o podanie swojego imienia.

    Ponieważ określony warunek (name jest null lub String.Empty) został spełniony, wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed uruchomieniem metody Console.WriteLine.

    W oknie zmiennych widać, że wartość zmiennej jest lub .

  5. Upewnij się, że wartość jest pustym ciągiem, wpisując następujące polecenie przy monicie konsoli debugowania i naciskając Enter. Wynik jest true.

    name == String.Empty
    
  6. Wybierz przycisk Kontynuuj na pasku narzędzi, aby kontynuować wykonywanie programu.

  7. Naciśnij wprowadź, aby zakończyć działanie programu i zatrzymać debugowanie.

  8. Wyczyść punkt przerwania, klikając kropkę na lewym marginesie okna kodu. Inne sposoby czyszczenia punktu przerwania polegają na naciśnięciu F9 lub wybraniu Uruchom > Przełącz punkt przerwania z menu podczas wybierania wiersza kodu.

  9. Jeśli zostanie wyświetlone ostrzeżenie, że warunek punktu przerwania zostanie utracony, wybierz pozycję Usuń punkt przerwania.

Przechodzenie przez program

Visual Studio Code umożliwia również przechodzenie przez program linia po linii i monitorowanie jego wykonania. 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 w wierszu kodu, który wyświetla monit "Jaka jest Twoja nazwa?".

  2. Naciśnij F5, aby rozpocząć debugowanie.

    Program Visual Studio Code podświetla wiersz punktu przerwania.

    W tym momencie okno Zmiennych pokazuje, że tablica jest pusta, a i mają wartości domyślne.

  3. Wybierz pozycję Krok do z paska narzędzi Debugowanie lub naciśnij F11.

    przycisk Step-Into

    Program Visual Studio Code wyróżnia następny wiersz.

  4. Visual Studio Code uruchamia Console.WriteLine dla okna dialogowego nazwy i wyróżnia kolejny wiersz wykonywanego kodu. Następny wiersz to Console.ReadLine dla name. Okno zmiennych jest niezmienione, a karta Terminal wyświetla monit "Jak się nazywasz?".

  5. Wybierz Wejdź w lub naciśnij F11.

    Program Visual Studio Code wyróżnia przypisanie zmiennej name. Okno Zmienne pokazuje, że name jest nadal null.

  6. Odpowiedz na monit, wprowadzając ciąg na karcie Terminal i naciskając Enter.

    Karta konsoli debugowania może nie wyświetlać wprowadzonego ciągu, ale metoda przechwytuje dane wejściowe.

  7. Wybierz Krok do środka lub naciśnij F11.

    Program Visual Studio Code wyróżnia przypisanie zmiennej currentDate. W oknie Zmienna jest wyświetlana wartość zwrócona przez wywołanie metody Console.ReadLine. Karta terminalu wyświetla ciąg wprowadzony w wierszu polecenia.

  8. Wybierz pozycję Przejdź do środka lub naciśnij F11.

    W oknie Zmienne jest wyświetlana wartość zmiennej currentDate po przypisaniu wartości z właściwości DateTime.Now.

  9. Wybierz Krok w głąb lub naciśnij F11.

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

  10. Wybierz Wyjdź lub naciśnij Shift+F11.

    przycisk Step-Out

    W terminalu zostanie wyświetlony komunikat "Naciśnij dowolny klawisz, aby zakończyć..."

  11. Naciśnij dowolny, aby zamknąć program.

Korzystanie z konfiguracji kompilacji wydania

Po przetestowaniu wersji Debug aplikacji należy również skompilować i przetestować wersję Release. Wersja wydania zawiera optymalizacje kompilatora, które mogą mieć wpływ na zachowanie aplikacji. Na przykład optymalizacje kompilatora, które mają poprawić wydajność, mogą tworzyć warunki wyścigowe w aplikacjach wielowątkowych.

Aby skompilować i przetestować wersję wydania aplikacji konsolowej, otwórz Terminal i uruchom następujące polecenie:

dotnet run --configuration Release

Aby skompilować i przetestować wersję wydania aplikacji konsolowej, uruchom następujące polecenie w terminalu:

dotnet run --configuration Release HelloWorld.cs

Następne kroki

W tym samouczku użyto narzędzi debugowania programu Visual Studio Code. W następnym samouczku opublikujesz wersję aplikacji nadającą się do wdrożenia.