Samouczek: debugowanie aplikacji konsolowej .NET przy użyciu programu Visual Studio
W tym samouczku przedstawiono narzędzia debugowania dostępne w programie Visual Studio.
Ważne
Wszystkie skróty klawiaturowe są oparte na wartościach domyślnych programu Visual Studio. Skróty klawiaturowe mogą się różnić, aby uzyskać więcej informacji, zobacz Skróty klawiaturowe w programie Visual Studio.
Wymagania wstępne
- Ten samouczek współpracuje z aplikacją konsolową utworzoną w sekcji Tworzenie aplikacji konsolowej platformy .NET przy użyciu programu Visual Studio.
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 program Visual Studio używa konfiguracji kompilacji debugowania, więc nie trzeba jej zmieniać przed debugowaniem.
Uruchom program Visual Studio.
Otwórz projekt utworzony w sekcji Tworzenie aplikacji konsolowej .NET przy użyciu programu Visual Studio.
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:
Ustawianie punktu przerwania
Punkt przerwania tymczasowo przerywa wykonywanie aplikacji przed wykonaniem wiersza z punktem przerwania.
Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę, klikając lewy margines okna kodu w tym wierszu. Lewy margines znajduje się po lewej stronie numerów wierszy. Inne sposoby ustawiania punktu przerwania to umieszczenie kursora w wierszu kodu, a następnie naciśnięcie klawisza F9 lub wybranie pozycji Przełącz>punkt przerwania na pasku menu.
Jak pokazano na poniższej ilustracji, program Visual Studio wskazuje wiersz, w którym ustawiono punkt przerwania, wyróżniając go i wyświetlając czerwoną kropkę na lewym marginesie.
Naciśnij klawisz F5 , aby uruchomić program w trybie debugowania. Innym sposobem rozpoczęcia debugowania jest wybranie opcji Debuguj>rozpocznij debugowanie z menu.
Wprowadź ciąg w oknie konsoli, gdy program wyświetli monit o nazwę, a następnie naciśnij klawisz Enter.
Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniem
Console.WriteLine
metody. W oknie Ustawienia lokalne są wyświetlane wartości zmiennych zdefiniowanych w aktualnie wykonywanej metodzie.
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.
Jeśli okno Natychmiastowe nie jest widoczne, wyświetl je, wybierając pozycję Debuguj>natychmiast systemu Windows.>
Wprowadź
name = "Gracie"
w oknie Natychmiastowe i naciśnij klawisz Enter .Wprowadź
currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime()
w oknie Natychmiastowe i naciśnij klawisz Enter .W oknie Natychmiastowy zostanie wyświetlona wartość zmiennej ciągu i właściwości DateTime wartości. Ponadto wartości zmiennych są aktualizowane w oknie Ustawienia lokalne .
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu. Innym sposobem kontynuowania jest wybranie opcji Debuguj>kontynuuj z menu.
Wartości wyświetlane w oknie konsoli odpowiadają zmianom wprowadzonych w oknie Natychmiastowy .
Naciśnij dowolny klawisz, 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 nazywanej warunkowym punktem przerwania.
Kliknij prawym przyciskiem myszy czerwoną kropkę reprezentującą punkt przerwania. W menu kontekstowym wybierz pozycję Warunki , aby otworzyć okno dialogowe Ustawienia punktu przerwania. Wybierz pole warunki, jeśli nie jest jeszcze zaznaczone.
W polu Wyrażenie warunkowe wprowadź następujący kod, który pokazuje przykładowy kod, który testuje wartość
x
5.string.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
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 zwracatrue
wartość .Zamiast wyrażenia warunkowego można określić liczbę trafień, która przerywa wykonywanie programu przed wykonaniem 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.
Wybierz pozycję Zamknij , aby zamknąć okno dialogowe.
Uruchom program z debugowaniem, naciskając klawisz F5.
W oknie konsoli naciśnij klawisz Enter po wyświetleniu monitu o wprowadzenie nazwy.
Ponieważ określony warunek (
name
lubnull
String.Empty) został spełniony, wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniemConsole.WriteLine
metody.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ść zmiennejname
to""
, lub String.Empty.Upewnij się, że wartość jest pustym ciągiem, wprowadzając następującą instrukcję w oknie Natychmiastowy i naciskając klawisz Enter. Wynik to
true
.? name == String.Empty
? String.IsNullOrEmpty(name)
Znak zapytania kieruje bezpośrednie okno, aby ocenić wyrażenie.
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
Wyczyść punkt przerwania, klikając kropkę na lewym marginesie okna kodu. Inne sposoby wyczyszczenia punktu przerwania polegają na naciśnięciu klawisza F9 lub wybraniu pozycji 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.
Wybierz pozycję Debuguj>krok do. Innym sposobem debugowania jednej instrukcji naraz jest naciśnięcie klawisza F11.
Program Visual Studio wyróżnia i wyświetla strzałkę obok następnego wiersza wykonywania.
C#
Visual Basic
W tym momencie okno Ustawienia lokalne pokazuje, że tablica
args
jest pusta iname
currentDate
ma wartości domyślne. Ponadto program Visual Studio otworzył puste okno konsoli.Naciśnij klawisz F11. Program Visual Studio wyróżnia teraz następny wiersz wykonywania. Okno Ustawienia lokalne pozostaje niezmienione, a okno konsoli pozostaje puste.
C#
Visual Basic
Naciśnij klawisz F11. Program Visual Studio wyróżnia instrukcję zawierającą przypisanie zmiennej
name
. W oknie Ustawienia lokalne jest wyświetlananull
name
wartość , a w oknie konsoli zostanie wyświetlony ciąg "Jaka jest Twoja nazwa?".Odpowiedz na monit, wprowadzając ciąg w oknie konsoli i naciskając klawisz Enter. Konsola nie odpowiada, a wprowadzony ciąg nie jest wyświetlany w oknie konsoli, ale Console.ReadLine metoda będzie mimo to przechwytywać dane wejściowe.
Naciśnij klawisz F11. 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 oknie konsoli zostanie również wyświetlony ciąg wprowadzony w wierszu polecenia.Naciśnij klawisz F11. W oknie Ustawienia lokalne jest wyświetlana wartość
currentDate
zmiennej po przypisaniu z DateTime.Now właściwości . Okno konsoli pozostaje niezmienione.Naciśnij klawisz F11. Program Visual Studio wywołuje metodę Console.WriteLine(String, Object, Object) . W oknie konsoli zostanie wyświetlony sformatowany ciąg.
Wybierz pozycję Debuguj>, aby wyjść. Innym sposobem zatrzymania wykonywania krok po kroku jest naciśnięcie klawisza Shift+F11.
W oknie konsoli zostanie wyświetlony komunikat i zaczeka na naciśnięcie klawisza.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
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 czasami negatywnie wpływają 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, zmień konfigurację kompilacji na pasku narzędzi z Debuguj na Wydanie.
Po naciśnięciu klawisza F5 lub wybraniu pozycji Kompiluj rozwiązanie z menu Kompilacja program Visual Studio kompiluje wersję wydania aplikacji. Można ją przetestować tak, jak w przypadku wersji debugowania.
Następne kroki
W tym samouczku użyto narzędzi debugowania programu Visual Studio. W następnym samouczku opublikujesz wdrożoną wersję aplikacji.
W tym samouczku przedstawiono narzędzia debugowania dostępne w programie Visual Studio.
Ważne
Wszystkie skróty klawiaturowe są oparte na wartościach domyślnych programu Visual Studio. Skróty klawiaturowe mogą się różnić, aby uzyskać więcej informacji, zobacz Skróty klawiaturowe w programie Visual Studio.
Wymagania wstępne
- Ten samouczek współpracuje z aplikacją konsolową utworzoną w sekcji Tworzenie aplikacji konsolowej platformy .NET przy użyciu programu Visual Studio.
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 program Visual Studio używa konfiguracji kompilacji debugowania, więc nie trzeba jej zmieniać przed debugowaniem.
Uruchom program Visual Studio.
Otwórz projekt utworzony w sekcji Tworzenie aplikacji konsolowej .NET przy użyciu programu Visual Studio.
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:
Ustawianie punktu przerwania
Punkt przerwania tymczasowo przerywa wykonywanie aplikacji przed wykonaniem wiersza z punktem przerwania.
Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę, klikając lewy margines okna kodu w tym wierszu. Lewy margines znajduje się po lewej stronie numerów wierszy. Inne sposoby ustawiania punktu przerwania to umieszczenie kursora w wierszu kodu, a następnie naciśnięcie klawisza F9 lub wybranie pozycji Przełącz>punkt przerwania na pasku menu.
Jak pokazano na poniższej ilustracji, program Visual Studio wskazuje wiersz, w którym ustawiono punkt przerwania, wyróżniając go i wyświetlając czerwoną kropkę na lewym marginesie.
Naciśnij klawisz F5 , aby uruchomić program w trybie debugowania. Innym sposobem rozpoczęcia debugowania jest wybranie opcji Debuguj>rozpocznij debugowanie z menu.
Wprowadź ciąg w oknie konsoli, gdy program wyświetli monit o nazwę, a następnie naciśnij klawisz Enter.
Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniem
Console.WriteLine
metody. W oknie Ustawienia lokalne są wyświetlane wartości zmiennych zdefiniowanych w aktualnie wykonywanej metodzie.
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.
Jeśli okno Natychmiastowe nie jest widoczne, wyświetl je, wybierając pozycję Debuguj>natychmiast systemu Windows.>
Wprowadź
name = "Gracie"
w oknie Natychmiastowe i naciśnij klawisz Enter .Wprowadź
currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime()
w oknie Natychmiastowe i naciśnij klawisz Enter .W oknie Natychmiastowy zostanie wyświetlona wartość zmiennej ciągu i właściwości DateTime wartości. Ponadto wartości zmiennych są aktualizowane w oknie Ustawienia lokalne .
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu. Innym sposobem kontynuowania jest wybranie opcji Debuguj>kontynuuj z menu.
Wartości wyświetlane w oknie konsoli odpowiadają zmianom wprowadzonych w oknie Natychmiastowy .
Naciśnij dowolny klawisz, 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 nazywanej warunkowym punktem przerwania.
Kliknij prawym przyciskiem myszy czerwoną kropkę reprezentującą punkt przerwania. W menu kontekstowym wybierz pozycję Warunki , aby otworzyć okno dialogowe Ustawienia punktu przerwania. Wybierz pole warunki, jeśli nie jest jeszcze zaznaczone.
W polu Wyrażenie warunkowe wprowadź następujący kod, który pokazuje przykładowy kod, który testuje wartość
x
5.string.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
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 zwracatrue
wartość .Zamiast wyrażenia warunkowego można określić liczbę trafień, która przerywa wykonywanie programu przed wykonaniem 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.
Wybierz pozycję Zamknij , aby zamknąć okno dialogowe.
Uruchom program z debugowaniem, naciskając klawisz F5.
W oknie konsoli naciśnij klawisz Enter po wyświetleniu monitu o wprowadzenie nazwy.
Ponieważ określony warunek (
name
lubnull
String.Empty) został spełniony, wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniemConsole.WriteLine
metody.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ść zmiennejname
to""
, lub String.Empty.Upewnij się, że wartość jest pustym ciągiem, wprowadzając następującą instrukcję w oknie Natychmiastowy i naciskając klawisz Enter. Wynik to
true
.? name == String.Empty
? String.IsNullOrEmpty(name)
Znak zapytania kieruje bezpośrednie okno, aby ocenić wyrażenie.
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
Wyczyść punkt przerwania, klikając kropkę na lewym marginesie okna kodu. Inne sposoby wyczyszczenia punktu przerwania polegają na naciśnięciu klawisza F9 lub wybraniu pozycji 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.
Wybierz pozycję Debuguj>krok do. Innym sposobem debugowania jednej instrukcji naraz jest naciśnięcie klawisza F11.
Program Visual Studio wyróżnia i wyświetla strzałkę obok następnego wiersza wykonywania.
C#
Visual Basic
W tym momencie okno Ustawienia lokalne pokazuje, że tablica
args
jest pusta iname
currentDate
ma wartości domyślne. Ponadto program Visual Studio otworzył puste okno konsoli.Naciśnij klawisz F11. Program Visual Studio wyróżnia teraz następny wiersz wykonywania. Okno Ustawienia lokalne pozostaje niezmienione, a okno konsoli pozostaje puste.
C#
Visual Basic
Naciśnij klawisz F11. Program Visual Studio wyróżnia instrukcję zawierającą przypisanie zmiennej
name
. W oknie Ustawienia lokalne jest wyświetlananull
name
wartość , a w oknie konsoli zostanie wyświetlony ciąg "Jaka jest Twoja nazwa?".Odpowiedz na monit, wprowadzając ciąg w oknie konsoli i naciskając klawisz Enter. Konsola nie odpowiada, a wprowadzony ciąg nie jest wyświetlany w oknie konsoli, ale Console.ReadLine metoda będzie mimo to przechwytywać dane wejściowe.
Naciśnij klawisz F11. 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 oknie konsoli zostanie również wyświetlony ciąg wprowadzony w wierszu polecenia.Naciśnij klawisz F11. W oknie Ustawienia lokalne jest wyświetlana wartość
currentDate
zmiennej po przypisaniu z DateTime.Now właściwości . Okno konsoli pozostaje niezmienione.Naciśnij klawisz F11. Program Visual Studio wywołuje metodę Console.WriteLine(String, Object, Object) . W oknie konsoli zostanie wyświetlony sformatowany ciąg.
Wybierz pozycję Debuguj>, aby wyjść. Innym sposobem zatrzymania wykonywania krok po kroku jest naciśnięcie klawisza Shift+F11.
W oknie konsoli zostanie wyświetlony komunikat i zaczeka na naciśnięcie klawisza.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
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 czasami negatywnie wpływają 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, zmień konfigurację kompilacji na pasku narzędzi z Debuguj na Wydanie.
Po naciśnięciu klawisza F5 lub wybraniu pozycji Kompiluj rozwiązanie z menu Kompilacja program Visual Studio kompiluje wersję wydania aplikacji. Można ją przetestować tak, jak w przypadku wersji debugowania.
Następne kroki
W tym samouczku użyto narzędzi debugowania programu Visual Studio. W następnym samouczku opublikujesz wdrożoną wersję aplikacji.
W tym samouczku przedstawiono narzędzia debugowania dostępne w programie Visual Studio.
Wymagania wstępne
- Ten samouczek współpracuje z aplikacją konsolową utworzoną w sekcji Tworzenie aplikacji konsolowej platformy .NET przy użyciu programu Visual Studio.
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 program Visual Studio używa konfiguracji kompilacji debugowania, więc nie trzeba jej zmieniać przed debugowaniem.
Uruchom program Visual Studio.
Otwórz projekt utworzony w sekcji Tworzenie aplikacji konsolowej .NET przy użyciu programu Visual Studio.
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:
Ustawianie punktu przerwania
Punkt przerwania tymczasowo przerywa wykonywanie aplikacji przed wykonaniem wiersza z punktem przerwania.
Ustaw punkt przerwania w wierszu, który wyświetla nazwę, datę i godzinę, klikając lewy margines okna kodu w tym wierszu. Lewy margines znajduje się po lewej stronie numerów wierszy. Inne sposoby ustawiania punktu przerwania to umieszczenie kursora w wierszu kodu, a następnie naciśnięcie klawisza F9 lub wybranie pozycji Przełącz>punkt przerwania na pasku menu.
Jak pokazano na poniższej ilustracji, program Visual Studio wskazuje wiersz, w którym ustawiono punkt przerwania, wyróżniając go i wyświetlając czerwoną kropkę na lewym marginesie.
Naciśnij klawisz F5 , aby uruchomić program w trybie debugowania. Innym sposobem rozpoczęcia debugowania jest wybranie opcji Debuguj>rozpocznij debugowanie z menu.
Wprowadź ciąg w oknie konsoli, gdy program wyświetli monit o nazwę, a następnie naciśnij klawisz Enter.
Wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniem
Console.WriteLine
metody. W oknie Ustawienia lokalne są wyświetlane wartości zmiennych zdefiniowanych w aktualnie wykonywanej metodzie.
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.
Jeśli okno Natychmiastowe nie jest widoczne, wyświetl je, wybierając pozycję Debuguj>natychmiast systemu Windows.>
Wprowadź
name = "Gracie"
w oknie Natychmiastowe i naciśnij klawisz Enter .Wprowadź
currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime()
w oknie Natychmiastowe i naciśnij klawisz Enter .W oknie Natychmiastowy zostanie wyświetlona wartość zmiennej ciągu i właściwości DateTime wartości. Ponadto wartości zmiennych są aktualizowane w oknie Ustawienia lokalne .
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu. Innym sposobem kontynuowania jest wybranie opcji Debuguj>kontynuuj z menu.
Wartości wyświetlane w oknie konsoli odpowiadają zmianom wprowadzonych w oknie Natychmiastowy .
Naciśnij dowolny klawisz, 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 nazywanej warunkowym punktem przerwania.
Kliknij prawym przyciskiem myszy czerwoną kropkę reprezentującą punkt przerwania. W menu kontekstowym wybierz pozycję Warunki , aby otworzyć okno dialogowe Ustawienia punktu przerwania. Wybierz pole warunki, jeśli nie jest jeszcze zaznaczone.
W polu Wyrażenie warunkowe wprowadź następujący kod, który pokazuje przykładowy kod, który testuje wartość
x
5.String.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
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 zwracatrue
wartość .Zamiast wyrażenia warunkowego można określić liczbę trafień, która przerywa wykonywanie programu przed wykonaniem 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.
Wybierz pozycję Zamknij , aby zamknąć okno dialogowe.
Uruchom program z debugowaniem, naciskając klawisz F5.
W oknie konsoli naciśnij klawisz Enter po wyświetleniu monitu o wprowadzenie nazwy.
Ponieważ określony warunek (
name
lubnull
String.Empty) został spełniony, wykonanie programu zatrzymuje się po osiągnięciu punktu przerwania i przed wykonaniemConsole.WriteLine
metody.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ść zmiennejname
to""
, lub String.Empty.Upewnij się, że wartość jest pustym ciągiem, wprowadzając następującą instrukcję w oknie Natychmiastowy i naciskając klawisz Enter. Wynik to
true
.? name == String.Empty
? String.IsNullOrEmpty(name)
Znak zapytania kieruje bezpośrednie okno, aby ocenić wyrażenie.
Naciśnij klawisz F5 , aby kontynuować wykonywanie programu.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
Wyczyść punkt przerwania, klikając kropkę na lewym marginesie okna kodu. Inne sposoby wyczyszczenia punktu przerwania polegają na naciśnięciu klawisza F9 lub wybraniu pozycji 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. Chociaż obecnie nie jest debugowanie, a fokus dotyczy programu Visual Studio:
Wybierz pozycję Debuguj>krok do. Innym sposobem debugowania jednej instrukcji naraz jest naciśnięcie klawisza F11.
Program Visual Studio wyróżnia i wyświetla strzałkę obok następnego wiersza wykonywania.
C#
Visual Basic
W tym momencie okno Ustawienia lokalne pokazuje, że tablica
args
jest pusta iname
currentDate
ma wartości domyślne. Ponadto program Visual Studio otworzył puste okno konsoli.Naciśnij klawisz F11. Program Visual Studio wyróżnia teraz następny wiersz wykonywania. Okno Ustawienia lokalne pozostaje niezmienione, a okno konsoli pozostaje puste.
C#
Visual Basic
Naciśnij klawisz F11. Program Visual Studio wyróżnia instrukcję zawierającą przypisanie zmiennej
name
. W oknie Ustawienia lokalne jest wyświetlananull
name
wartość , a w oknie konsoli zostanie wyświetlony ciąg "Jaka jest Twoja nazwa?".Odpowiedz na monit, wprowadzając ciąg w oknie konsoli i naciskając klawisz Enter. Konsola nie odpowiada, a wprowadzony ciąg nie jest wyświetlany w oknie konsoli, ale Console.ReadLine metoda będzie mimo to przechwytywać dane wejściowe.
Naciśnij klawisz F11. 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 oknie konsoli zostanie również wyświetlony ciąg wprowadzony w wierszu polecenia.Naciśnij klawisz F11. W oknie Ustawienia lokalne jest wyświetlana wartość
currentDate
zmiennej po przypisaniu z DateTime.Now właściwości . Okno konsoli pozostaje niezmienione.Naciśnij klawisz F11. Program Visual Studio wywołuje metodę Console.WriteLine(String, Object, Object) . W oknie konsoli zostanie wyświetlony sformatowany ciąg.
Wybierz pozycję Debuguj>, aby wyjść. Innym sposobem zatrzymania wykonywania krok po kroku jest naciśnięcie klawisza Shift+F11.
W oknie konsoli zostanie wyświetlony komunikat i zaczeka na naciśnięcie klawisza.
Naciśnij dowolny klawisz, aby zamknąć okno konsoli i zatrzymać debugowanie.
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 czasami negatywnie wpływają 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, zmień konfigurację kompilacji na pasku narzędzi z Debuguj na Wydanie.
Po naciśnięciu klawisza F5 lub wybraniu pozycji Kompiluj rozwiązanie z menu Kompilacja program Visual Studio kompiluje wersję wydania aplikacji. Można ją przetestować tak, jak w przypadku wersji debugowania.
Następne kroki
W tym samouczku użyto narzędzi debugowania programu Visual Studio. W następnym samouczku opublikujesz wdrożoną wersję aplikacji.