Udostępnij za pośrednictwem


Rozpoczynanie, przerywanie, wykonywanie krokowe, przechodzenie przez kod i zatrzymywanie debugowania w programie Visual Studio

Uruchamianie debugowania projektu VS; Dołącz do procesu; Podziel na kod; krok w kodzie, Wykonaj do kursora; Uruchom na funkcję na stosie wywołań; Ustaw następnej instrukcji; Przechodzenie przez tylko mój kod Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu.

Spis treści

Uruchamianie debugowania projektu VS; Dołącz do procesu

Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu

Uruchamianie debugowania projektu VS; Dołącz do procesu

  • Uruchamianie debugowania projektu VS**|**Dołącz do procesu

Uruchamianie debugowania projektu VS

Gdy jest otwarty rozwiązanie to program Visual Studio, wyświetlane są trzy opcje, aby rozpocząć debugowanie:

Wybierz debugowanie, rozpocząć debugowanie (klawiatura: F5).

Twoja aplikacja zostanie uruchomiony, a następnie uruchamia aż do:

  • Debuger osiąga punkt przerwania.

  • Możesz wybrać Zatrzymaj debugowanie na debugowanie menu.

  • Wyjątek.

  • Kończy pracę aplikacji.

Wybierz debugowanie, Wkrocz (klawiatura: F11) lub debugowanie, Przekrocz (klawiatura: F10).

Twoja aplikacja zaczyna się i następnie dzieli w pierwszym wierszu.

W oknie źródła, zaznacz wiersz kodu wykonywalnego i wybierz polecenie wykonaj do kursora w menu kontekstowym.

Uruchamia aplikację i uruchamia aż do osiągnięcia punktu przerwania lub lokalizacji kursora, zależnie od przypada wcześniej.

Aby wzrokowo śledzić wykonywanie kodu na mapie kodu podczas debugowania, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..

Powrót do początkuSpis treści**|**Uruchamianie debugowania projektu VS; Dołącz do procesu

Dołącz do procesu

Debuger można dołączyć do programu, który jest uruchomiony w ramach procesu poza programem Visual Studio.Po dołączeniu do programu, użyj poleceń wykonania debugera, sprawdzić stan programu i tak dalej.Możliwość sprawdzić program może być ograniczona, w zależności od tego, czy program został skompilowany z informacje debugowania i czy masz dostęp do kodu źródłowego programu i określa, czy kompilator JIT środowiska wykonawczego języka wspólnego śledzi informacje debugowania.

Aby dołączyć do procesu, który jest uruchomiony na komputerze lokalnym

Wybierz debugowanie, dołączyć do procesu.Na dołączyć do procesu okna dialogowego Wybierz proces od dostępne procesy liście, a następnie wybierz Attach.

okno dialogowe dołączania do procesu

Aby uzyskać więcej informacji, zobacz Dołączanie do uruchomionego procesu za pomocą debugera programu Visual Studio.

Powrót do początkuSpis treści**|**Uruchamianie debugowania projektu VS; Dołącz do procesu

Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

  • Podziel na kod za pomocą punktów przerwania lub Podziel wszystkie**|Krok do, powyżej lub z kodu|Uruchom do określonej lokalizacji lub funkcji|Ustaw następnej instrukcji do wykonania|Ograniczenia, aby tylko mój kod|Wkrocz wywołań systemowych|**Wkrocz właściwości i operatorów w kodzie zarządzanym

Podziel na kod za pomocą punktów przerwania lub Podziel wszystkie

Podczas debugowania aplikacji za pomocą debugera VS aplikacja jest uruchomiona (wykonywanie) lub jej jest w trybie przerwania.

Debuger dzieli wykonywania aplikacji podczas wykonywania osiąga punkt przerwania lub w przypadku wystąpienia wyjątku.Można również przerwać wykonywanie ręcznie w dowolnym momencie.

Punkt przerwania jest sygnał, który zawiera informacje debugera, aby tymczasowo wstrzymać wykonanie aplikacji w danym.Program zawiesza wykonywanie w punkcie przerwania, jest określane jako w trybie przerwania.Trybu podziału nie Zatrzymaj lub zakończenia wykonania programu; w dowolnej chwili można wznowić wykonywanie.

Większość funkcji debugera, takie jak wyświetlania wartości zmiennych w oknie zmienne lokalne lub obliczenia wyrażenia w oknie obserwowanych są dostępne tylko w trybie przerwania.Wszystkie elementy aplikacji pozostają (funkcje, zmienne i obiekty znajdują się w pamięci, na przykład), ale ich przepływu i działania są zawieszone.W trybie podziału można sprawdzić pozycji elementów członkowskich i stany do wyszukania naruszeń lub usterki.Można również dostosować ustawienia aplikacji w trybie podziału

Istnieje możliwość skonfigurowania przerwania wstrzymania wykonania w oparciu o liczbę warunków.Zobacz Punkty przerwania: korzystanie z liczby trafień, funkcje stosu wywołań oraz warunki przerywania w wybranym miejscu i czasie w debugerze Visual Studio.W tej sekcji opisano dwa podstawowe sposoby podzielić kodu.

Ustawianie punktów przerwania, w kodzie

Aby ustawić punkt przerwania proste w kodzie, otwórz plik źródłowy w edytorze programu Visual Studio.Ustaw kursor w wierszu kodu, który ma być dzielone w, a następnie wybierz punkt przerwania, Wstaw punkt przerwania w menu kontekstowym (klawiatura: F9.Debuger dzieli wykonywania prawa przed wykonaniem wiersza.

Ustaw punkt przerwania

Punkty przerwania w programie Visual Studio zapewniają bogatego zestawu dodatkowych funkcji, takich jak warunkowych przerwania i tracepoints.Zobacz Punkty przerwania: korzystanie z liczby trafień, funkcje stosu wywołań oraz warunki przerywania w wybranym miejscu i czasie w debugerze Visual Studio.

Ręcznie podzielić kodu

Rozbić na dostępne następnego wiersza kodu w realizowanej aplikacji, wybierz polecenie debugowanie, podziału wszystkie (klawiatura: Ctrl+Alt+Break).

  • Jeśli debugowania z włączoną opcją tylko mój kod, musisz być dzielone w następnego wiersza kodu w projekcie.Zobacz Restrict, aby tylko mój kod.

  • Jeśli debugujesz kilka programów, punkt przerwania lub polecenie Podziel wszystkie ma wpływ na wszystkie programy jest debugowane domyślny.Zobacz skonfigurować zachowanie wykonywania wielu procesów.

  • Jeśli użytkownik Podziel podczas wykonywania kodu bez odpowiedniego źródła lub symbol plików (PDF)), debuger wyświetla źródło plików nie znaleziono lub nie można odnaleźć symboli strony, które mogą ułatwić znajdowanie odpowiednich plików.Zobacz Określanie plików symboli (.pdb) i plików źródłowych w debugerze programu Visual Studio.

    Jeśli nie można uzyskać dostęp do plików pomocniczych, czy nadal debugować instrukcje zestawu w oknie demontażu.

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Krok do, powyżej lub z kodu

Jedną z najbardziej typowe procedur debugowania jest krok.Przechodzenie wykonywania kodu jeden wiersz jednocześnie.Gdy ma zostało zatrzymane wykonywania, takie jak uruchomienie debugera do punktu przerwania, można użyć trzy debugowanie polecenia menu, aby śledzić wykonywania kodu:

Polecenie menu

Skrót klawiaturowy

Opis

Wkrocz

F11

Jeśli wiersz zawiera wywołanie funkcji Wkrocz wykonuje tylko połączenia, a następnie zatrzymuje się w pierwszym wierszu kodu wewnątrz funkcji.W przeciwnym razie Wkrocz wykonuje następnej instrukcji.

Przekrocz

F10

Jeśli wiersz zawiera wywołanie funkcji Przekrocz wykonuje wywoływanej funkcji, a następnie zatrzymuje na pierwszego wiersza kodu w funkcji wywołującej.W przeciwnym razie Wkrocz wykonuje następnej instrukcji.

Wyjdź

Shift+F11

Wyjdź wznawia wykonywanie kodu, dopóki funkcja zwraca następnie przerwy w punkcie zwrotny w funkcji wywołującej.

  • W wywołaniu funkcji zagnieżdżonej Wkrocz kroków do najczęściej głęboko zagnieżdżone funkcji.Jeśli użyjesz Wkrocz w wywołaniu, takich jak Func1(Func2()), debuger kroków do funkcji Func2.

  • Debuger faktycznie kroki instrukcje kodu, a nie fizycznych wierszy.Na przykład if klauzuli można pisać w jednym wierszu:

    int x = 42;
    string s = "Not answered";
    if( int x == 42) s = "Answered!";
    
    Dim x As Integet = 42
    Dim s As String = "Not answered"
    If x = 42 Then s = "Answered!"
    

    W przypadku wkroczenia do tego wiersza, debuger traktuje warunek jako jeden krok i konsekwencji, jak inny (w tym przykładzie warunek jest prawdziwy).

Aby wzrokowo śledzić stos wywołań podczas Przechodzenie do funkcji, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Uruchom do określonej lokalizacji lub funkcji

Czasem można wykonać do niektórych punktu w kodzie, a następnie wstrzymania wykonywania.Jeśli użytkownik ma ustawiony w lokalizacji, w której chcesz przerwać punktu przerwania, wybierz debugowanie, rozpocząć debugowanie Jeśli nie zostało rozpoczęte debugowania, lub debugowanie, Kontynuuj.(W obu przypadkach F5 jest klawisz skrótu).Debuger zatrzymuje się na następny punkt przerwania podczas wykonywania kodu.Wybierz debugowanie, Kontynuuj tak, aby osiągnąć punkt przerwania.

Można również uruchomić, na którym zostanie umieszczony kursora w edytorze kodu lub uruchomić określonej funkcji.

Uruchom do lokalizacji kursora

Aby uruchomić do lokalizacji kursora, umieść kursor wykonywalny wiersza kodu w oknie źródła.W menu kontekstowym edytora, wybierz polecenie wykonaj do kursora.

Uruchom na funkcję na stosie wywołań

W stos wywołań okna, wybierz funkcję i wybierz opcję wykonaj do kursora z menu kontekstowego.Aby wzrokowo śledzić stos wywołań, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..

Uruchom do określonego przez nazwę funkcji

Można polecenia debugera do uruchomienia aplikacji, aż do osiągnięcia określonej funkcji.Można określić funkcji według nazwy lub mogą ze stosu wywołań.

Aby określić funkcję według nazwy, wybierz debugowanie, nowy punkt przerwania, być dzielone w funkcji, wprowadź nazwę funkcji i inne informacje identyfikacyjne.

Okno dialogowe Nowy punkt przerwania

Jeśli funkcja jest przeciążona lub w wielu nazw, można wybrać funkcje, które chcesz wybierz punkty przerwania okno dialogowe.

Wybierz punkty przerwania — Okno dialogowe

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Ustaw następnej instrukcji do wykonania

Po przerwaniu do debugera, umieszczenie punktu wykonania można ustawić kodu do wykonania w następnej instrukcji.Żółty strzałki w marginesu w oknie demontażu lub źródło oznacza lokalizację następnej instrukcji do wykonania.Przenosząc ten grot strzałki, można pominąć fragment kodu lub powrót do wiersza wcześniej wykonać.Możesz ich użyć w sytuacjach, takie jak pomijanie sekcję kodu, który zawiera znane usterki.

Przykład2

Aby ustawić następnej instrukcji, aby można było wykonać, należy użyć jednej z następujących procedur:

  • W oknie źródła przeciągnij żółty grot do lokalizacji, w której chcesz ustawić następnej instrukcji w tym samym pliku źródłowego

  • W oknie źródła, ustaw kursor w wierszu, który ma zostać następnej i wybierz polecenie ustawić następnej instrukcji w menu kontekstowym.

  • W oknie demontażu Ustaw kursor w instrukcjach zestawu do następnej i wybierz polecenie ustawić następnej instrukcji w menu kontekstowym.

Informacje dotyczące przestrogiPrzestroga

Ustawienie następnej instrukcji powoduje licznik program przejść bezpośrednio do nowej lokalizacji.To polecenie ostrożnie:

  • Nie zostaną wykonane instrukcje między punktami wykonywania stara i nowa.

  • Przenieś punkt wykonywania z poprzednimi wersjami, instrukcje interwencji nie są cofnąć.

  • Przeniesienie następnej instrukcji innej funkcji lub zakresu zwykle skutkuje uszkodzenie stosu wywołań, co powoduje błąd w czasie wykonywania lub wyjątek.Jeśli spróbujesz przeniesienie następnej instrukcji do innego zakresu, debuger otwiera okno dialogowe z ostrzeżeniem i oferuje możliwość anulować operację.W języku Visual Basic następnej instrukcji nie można przenieść do innego zakresu lub funkcji.

  • W macierzystym języku C++ Jeśli jest włączona, sprawdzania wykonywania ustawienie następnej instrukcji może spowodować wyjątków podczas wykonywania osiąga koniec metody.

  • Kiedy Edytuj i Kontynuuj jest włączona, ustawić następnej instrukcji nie powiodło się, jeśli po wprowadzeniu zmian, które Edytuj i Kontynuuj nie można ponownie zamapować natychmiast.To może mieć miejsce, na przykład po zakończeniu edycji kodu w bloku catch.W takim przypadku.Pojawi się komunikat o błędzie informujący o tym, że operacja nie jest obsługiwana.

[!UWAGA]

W kodzie zarządzanym nie można przenieść następnej instrukcji w następujących okolicznościach:

  • Następna instrukcja jest w innej metody niż bieżącej instrukcji.

  • Debugowanie uruchomienia przy użyciu tylko w czasie debugowania.

  • Stos wywołań unwind jest w toku.

  • System.StackOverflowException lub System.Threading.ThreadAbortException został wyjątek.

Nie można ustawić następnej instrukcji, aplikacja jest uruchomiona aktywnie.Aby ustawić następnej instrukcji, debuger musi być w trybie przerwania.

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Ograniczenia, aby tylko mój kod

Czasami podczas debugowania, można Przyjrzyj się tylko kod zaprojektowało i Ignoruj innego kodu, takich jak wywołań systemowych.Można to zrobić z debugowania tylko mój kod.Po prostu mój kod ukrywa kodu niezwiązanych z użytkownikiem, aby nie jest wyświetlane w systemie windows debugera.Po kroku, debuger kroki Kodeksu niezwiązanych z użytkownikiem, ale nie zatrzymuje się w nim.Zobacz Tylko mój kod.

[!UWAGA]

Po prostu mój kod nie jest obsługiwany dla projektów urządzenia.

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Wkrocz wywołań systemowych

Jeśli została załadowana symbole debugowania dla kodu systemu i tylko mój kod nie jest włączona, tak jak w innych połączeń można wkroczenia do wywołania systemowego.

Aby dowiedzieć się, jak wyłączyć tylko mój kod, zobacz Restrict, aby tylko mój kod

Aby uzyskać dostęp do plików symbol firmy Microsoft, zobacz znaleźć plików symbol nie na komputerze lokalnym za pomocą serwerów symbol w Określanie plików symboli (.pdb) i plików źródłowych w debugerze programu Visual Studio tematu.

Aby załadować symbole dla składnika właściwe dla systemu podczas debugowania:

  1. Otwórz okno modułów (klawiatura: Ctrl+Alt+U).

  2. Wybierz moduł, który ma zostać załadowany symbole.

    Możesz stwierdzić, które moduły mają symbole załadowane przez stan Symbol kolumny.

  3. Wybierz symbole obciążenia w menu kontekstowym.

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Wkrocz właściwości i operatorów w kodzie zarządzanym

Kroki debuger nad właściwości i operatorów w kodzie zarządzanym domyślnie.W większości przypadków to zapewnia lepsze debugowania.Aby włączyć Przechodzenie do właściwości lub operatorów, wybierz debugowanie, opcji i ustawień.Na debugowanie, ogólne Usuń zaznaczenie Przekrocz właściwości i operatory (tylko zarządzane) pole wyboru

Powrót do początkuSpis treści**|**Podziel na kod, kroku lub uruchomić przy użyciu kodu, ustaw następnej instrukcji do wykonania

Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu

Trwa zatrzymywanie debugowanie oznacza, że przerywanie sesji debugowania.Zatrzymywanie wykonywania oznacza przerywanie procesu są debugowania i kończy sesję debugowania.Należy ją jednak odróżnić z Przerywanie wykonywania, którego tymczasowo zatrzymuje wykonywanie procesu, który debugowania, ale pozostawia aktywnych sesji debugowania.Odłączanie od procesu zatrzymuje debugowanie procesu, ale pozostawia ona uruchomiona.

  • Zatrzymaj debugowanie z VS**|Zamknij aplikację, która jest on debugowania|Uruchom ponownie debugowania|**Odłączanie z debugowanej aplikacji

Zatrzymaj debugowanie z VS

Wybierz debugowanie, Zatrzymaj debugowanie na zakończenie procesu debugowania, gdy program został uruchomiony z programu Visual Studio.W przypadku dołączenia do procesu nie powoduje uruchomienia go z programu Visual Studio, proces jest nadal uruchomiony.

Powrót do początkuSpis treści**|**Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu

Zamknij aplikację, która jest on debugowania

Po zamknięciu aplikacji, która jest on debugowane debugowanie zatrzymuje automatycznie.

Uruchom ponownie debugowania

Wybierz debugowanie, Uruchom ponownie zatrzymać w bieżącej sesji debugowania, a następnie ponownie uruchom projekt startowy debugera.

Powrót do początkuSpis treści**|**Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu

Odłączanie z debugowanej aplikacji

Wybierz debugowania, odłączanie wszystko, aby zatrzymać debugowanie, ale pozostawić debugowanej procesu lub procesów uruchomionych.

PoradaPorada

Zobacz Dołączanie do uruchomionego procesu za pomocą debugera programu Visual Studio i Debugowanie jednego lub więcej procesów za pomocą programu Visual Studio Aby dowiedzieć się więcej na temat dołączania do i kontrolowanie wielu procesów w programie Visual Studio.

Powrót do początkuSpis treści**|**Zatrzymaj, uruchom ponownie debugowania. odłączanie z debugowanej procesu