Rozpocznij z punktami przerwania w debugerze programu Visual Studio
Punkty przerwania to jedna z najważniejszych technik debugowania w narzędziach programisty. Punkty przerwania ustawia się wszędzie tam, gdzie chcesz wstrzymać wykonywanie debugera. Możesz na przykład zobaczyć stan zmiennych kodu lub przyjrzeć się stosowi wywołań w określonym punkcie przerwania.
Ustawianie punktów przerwania w kodzie źródłowym
Punkt przerwania można ustawić w dowolnym wierszu kodu wykonywalnego. Przyjrzyjmy się na przykład temu prostego kodu w języku C#, który tworzy prostą pętlę.
int testInt = 3;
for (int i = 0; i < 10; i++)
{
testInt += i;
}
Punkt przerwania można ustawić w wierszu kodu przy użyciu przypisania zmiennej (int testInt = 3
), pętli for
lub dowolnego kodu wewnątrz pętli for
. Nie można ustawić punktu przerwania dla sygnatur metod, deklaracji dla przestrzeni nazw lub klasy lub deklaracji zmiennych, jeśli nie ma przypisania i nie ma metody getter/setter.
Aby ustawić punkt przerwania w kodzie źródłowym:
- Kliknij w najdalszym lewym marginesie obok wiersza kodu. Możesz również wybrać wiersz i nacisnąć F9, wybierz pozycję Debuguj>Przełącz punkt przerwanialub kliknij prawym przyciskiem myszy i wybierz punkt przerwania>Wstaw punkt przerwania. Punkt przerwania jest wyświetlany jako czerwona kropka na lewym marginesie.
W przypadku większości języków (w tym C#) program Visual Studio automatycznie wyróżnia punkt przerwania i bieżące wiersze wykonywania. W przypadku niektórych języków, takich jak C++, które nie są domyślnie wyróżnione, można włączyć wyróżnianie punktów przerwania i bieżących wierszy, wybierając pozycję Tools (lub Debugowanie) >Opcje>Debugowanie>Wyróżnij cały wiersz źródłowy dla punktów przerwania i bieżącą instrukcję (tylko C++).
Aby debugować, naciśnij F5 lub wybierz pozycję Debugowanie>Rozpocznij debugowanie.
Podczas debugowania wykonywanie wstrzymuje się w punkcie przerwania przed wykonaniem kodu w tym wierszu. Symbol punktu przerwania przedstawia żółtą strzałkę.
W punkcie przerwania w poniższym przykładzie wartość testInt
nadal wynosi 3. Dlatego wartość nie zmieniła się od momentu zainicjowania zmiennej (ustawionej na wartość 3), ponieważ instrukcja w kolorze żółtym nie została jeszcze wykonana.
W punkcie przerwania w poniższym przykładzie wartość testInt
nadal wynosi 1. Dlatego wartość nie zmieniła się od momentu zainicjowania zmiennej (ustawionej na wartość 1), ponieważ instrukcja na żółto nie została jeszcze wykonana.
Gdy debuger zatrzymuje się na punkcie przerwania, możesz sprawdzić bieżący stan aplikacji, w tym wartości zmiennych i stos wywołań .
Na przykład na poniższej ilustracji można zobaczyć wartość testInt
w podpowiedzi danych i w oknie lokali .
stanu aplikacji
Poniżej przedstawiono kilka ogólnych instrukcji dotyczących pracy z punktami przerwania.
Punkt przerwania jest przełącznikiem. Możesz go kliknąć, nacisnąć F9lub użyć Debug>Przełącz punkt przerwania, aby go usunąć lub ponownie dodać.
Aby wyłączyć punkt przerwania bez jego usuwania, umieść kursor nad nim lub kliknij go prawym przyciskiem myszy, a następnie wybierz pozycję Wyłącz punkt przerwania. Wyłączone punkty przerwania są wyświetlane jako puste kropki na lewym marginesie lub okna Punkty przerwania. Aby ponownie włączyć punkt przerwania, umieść kursor nad nim lub kliknij go prawym przyciskiem myszy, a następnie wybierz pozycję Włącz punkt przerwania.
Ustaw warunki i akcje, dodaj i edytuj etykiety lub wyeksportuj punkt przerwania, klikając go prawym przyciskiem myszy i wybierając odpowiednie polecenie lub umieszczając kursor nad nim i wybierając ikonę Ustawienia.
Typy punktów przerwania
Program Visual Studio obsługuje różne typy punktów przerwania w celu obsługi różnych scenariuszy debugowania, takich jak warunkowe punkty przerwania, które aktywują się tylko na podstawie określonych kryteriów. Aby uzyskać więcej informacji, zobacz Zastosuj odpowiedni typ punktu przerwania.
Zarządzanie punktami przerwania w oknie Punkty przerwania
Aby wyświetlić i zarządzać wszystkimi punktami przerwania w rozwiązaniu, możesz użyć okna Punkty przerwania. Ta scentralizowana lokalizacja jest szczególnie przydatna w dużym rozwiązaniu lub w przypadku złożonych scenariuszy debugowania, w których punkty przerwania mają krytyczne znaczenie.
W oknie Punktu Przerwania możesz wyszukiwać, sortować, filtrować, włączać/wyłączać lub usuwać punkty przerwania. Można również ustawić warunki i akcje albo dodać nową funkcję lub punkt przerwania danych.
Aby otworzyć okno punktów przerwania, wybierz pozycję Debugowanie>punktów przerwania systemu Windows>lub naciśnij Ctrl+Alt+B.
okno punktów przerwania
okno punktów przerwania
Aby wybrać kolumny do wyświetlenia w oknie punktów przerwania, wybierz Pokaż kolumny. Wybierz nagłówek kolumny, aby posortować listę punktów przerwania według tej kolumny.
Etykiety punktów przerwania
Za pomocą etykiet można sortować i filtrować listę punktów przerwania w oknie punktów przerwania.
- Aby dodać etykietę do punktu przerwania, kliknij prawym przyciskiem myszy na punkt przerwania w kodzie źródłowym lub w oknie Punkty przerwania, a następnie wybierz pozycję Edytuj etykiety. Dodaj nową etykietę lub wybierz istniejącą, a następnie wybierz pozycję OK.
- Posortuj listę punktów przerwania w oknie Breakpoints, wybierając nagłówki kolumn takie jak etykiety, warunki, lub inne. Możesz wybrać kolumny do wyświetlenia, wybierając pozycję Pokaż kolumny na pasku narzędzi.
Grupy punktów przerwania
W przypadku złożonych scenariuszy debugowania można utworzyć grupy punktów przerwania, aby je odpowiednio zorganizować. Dzięki temu można szybko włączać i wyłączać logiczne grupowania punktów przerwania w oparciu o bieżący scenariusz, który próbujesz debugować.
Możesz tworzyć punkty przerwania w oknie Punktów przerwania, wybierając polecenie > i nadając grupie nazwę. Aby dodać punkt przerwania do grupy, kliknij prawym przyciskiem myszy punkt przerwania i wybierz opcję Dodaj do grupy punktów przerwanianazwa grupy><>. Możesz też przeciągać i upuszczać punkty przerwania do wybranej grupy.
Aby ustawić domyślną grupę punktów przerwania, kliknij prawym przyciskiem myszy grupę i wybierz Ustaw jako domyślną grupę punktów przerwania. Po ustawieniu domyślnej grupy punktów przerwania nowo utworzone punkty przerwania są automatycznie dodawane do grupy.
Eksportowanie i importowanie punktów przerwania
Aby zapisać lub udostępnić stan i lokalizację punktów przerwania, możesz je wyeksportować lub zaimportować.
Począwszy od programu Visual Studio 2022 w wersji 17.12 (wersja zapoznawcza 3), grupy punktów przerwania są również dołączane do wyeksportowanych i zaimportowanych punktów przerwania.
- Aby wyeksportować pojedynczy punkt przerwania do pliku XML, kliknij prawym przyciskiem myszy punkt przerwania w kodzie źródłowym lub punkty przerwania okna, a następnie wybierz pozycję Eksportuj lub Eksportuj wybrany. Wybierz lokalizację eksportu, a następnie naciśnij Zapisz. Domyślną lokalizacją jest folder rozwiązania.
- Aby wyeksportować kilka punktów przerwania, w oknie Punkty przerwania zaznacz pola obok punktów przerwania lub wprowadź kryteria wyszukiwania w polu Szukaj. Wybierz ikonę Eksportuj wszystkie punkty przerwania zgodne z bieżącymi kryteriami wyszukiwania i zapisz plik.
- Aby wyeksportować wszystkie punkty przerwania, usuń zaznaczenie wszystkich pól i pozostaw pole Wyszukaj puste. Wybierz ikonę Eksportuj wszystkie punkty przerwania zgodne z bieżącymi kryteriami wyszukiwania i zapisz plik.
- Aby zaimportować punkty przerwania, w oknie Punkty przerwania wybierz ikonę Importuj punkty przerwania z pliku, przejdź do lokalizacji pliku XML i wybierz opcję Otwórz.
Ustawianie punktów przerwania z okien debugera
Można również ustawić punkty przerwania w oknach debugera: w oknie stosu wywołań i w oknie dezasemblacji .
Ustawianie punktu przerwania w oknie stosu wywołań
Aby przerwać instrukcję lub wiersz zwracaną przez funkcję wywołującą, możesz ustawić punkt przerwania w oknie Stos wywołań.
Aby ustawić punkt przerwania w oknie stosu wywołań:
Aby otworzyć okno stosu wywołań, należy być wstrzymanym podczas debugowania. Wybierz pozycję Debuguj>stos wywołań systemu Windows>lub naciśnij Ctrl+Alt+C.
W oknie stosu wywołań kliknij prawym przyciskiem myszy funkcję wywołującą i wybierz punkt przerwania>Wstaw punkt przerwania, lub naciśnij F9.
Symbol punktu przerwania jest wyświetlany obok nazwy wywołania funkcji na lewym marginesie stosu wywołań.
Punkt przerwania stosu wywołań jest wyświetlany w oknie przerwania jako adres z lokalizacją pamięci odpowiadającą następnej instrukcji wykonywalnej w funkcji.
Debuger przerywa działanie instrukcji.
Aby uzyskać więcej informacji na temat stosu wywołań, zobacz Jak: używać okna stosu wywołań.
Aby wizualnie śledzić punkty przerwania podczas wykonywania kodu, zobacz Metody mapowania w stosie wywołań podczas debugowania.
Ustaw punkt przerwania w oknie dezasemblacji
Aby otworzyć okno dezasemblacji, należy być w trybie wstrzymania podczas debugowania. Wybierz Debug>Windows>Dezasemblacjalub naciśnij Ctrl+Alt+D.
W oknie dezasemblacji kliknij lewy margines instrukcji, którą chcesz przerwać. Możesz go również zaznaczyć i nacisnąć F9lub kliknąć prawym przyciskiem myszy i wybrać punkt przerwania>Wstaw punkt przerwania.