Używanie punktów przerwania w debugerze programu Visual Studio

Punkty przerwania to jedna z najważniejszych technik debugowania w przyborniku dewelopera. 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. Jeśli próbujesz rozwiązać problem lub ostrzeżenie podczas korzystania z punktów przerwania, zobacz Rozwiązywanie problemów z punktami przerwania w debugerze programu Visual Studio.

Uwaga

Jeśli znasz zadanie lub problem, który próbujesz rozwiązać, ale musisz wiedzieć, jakiego rodzaju punkt przerwania użyć, zobacz Często zadawane pytania — znajdowanie funkcji debugowania.

Ustawianie punktów przerwania w kodzie źródłowym

Punkt przerwania można ustawić w dowolnym wierszu kodu wykonywalnego. Na przykład w poniższym kodzie języka C# można ustawić punkt przerwania w wierszu kodu przy użyciu przypisania zmiennej (int testInt = 1), for pętli lub dowolnego kodu wewnątrz for pętli. 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 lewy margines obok wiersza kodu. Możesz również wybrać wiersz i nacisnąć klawisz F9, wybrać polecenie Debuguj>przełącz punkt przerwania lub kliknąć prawym przyciskiem myszy i wybrać pozycję 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 języka C#, punkty przerwania i bieżące wiersze wykonywania są automatycznie wyróżnione. W przypadku kodu języka C++ można włączyć wyróżnianie punktów przerwania i bieżących wierszy, wybierając pozycję Narzędzia (lub Debugowanie) >Opcje>Debugowanie>Wyróżnij całą linię źródłową dla punktów przerwania i bieżącą instrukcję (tylko C++).

Set a breakpoint

Set a breakpoint

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 wynosi nadal 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.

Breakpoint execution stopped

W punkcie przerwania w poniższym przykładzie wartość testInt wynosi nadal 1. Dlatego wartość nie zmieniła się od momentu zainicjowania zmiennej (ustawionej na wartość 1), ponieważ instrukcja na żółto nie została jeszcze wykonana.

Breakpoint execution stopped

Gdy debuger zatrzymuje się w punkcie przerwania, możesz sprawdzić bieżący stan aplikacji, w tym wartości zmiennych i stos wywołań.

Poniżej przedstawiono kilka ogólnych instrukcji dotyczących pracy z punktami przerwania.

  • Punkt przerwania jest przełącznikiem. Możesz go kliknąć, nacisnąć klawisz F9 lub użyć przełącznika debugowania>punktu przerwania, aby usunąć lub ponownie go przełączyć.

  • Aby wyłączyć punkt przerwania bez jego usuwania, umieść kursor na 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 w oknie Punkty przerwania . Aby ponownie włączyć punkt przerwania, umieść kursor na 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.

Akcje punktu przerwania i punkty śledzenia

Punkt śledzenia to punkt przerwania, który wyświetla komunikat w oknie Dane wyjściowe. Punkt śledzenia może działać jak tymczasowa instrukcja śledzenia w języku programowania i nie wstrzymuje wykonywania kodu. Punkt śledzenia można utworzyć, ustawiając specjalną akcję w oknie Ustawienia punktu przerwania. Aby uzyskać szczegółowe instrukcje, zobacz Używanie punktów śledzenia w debugerze programu Visual Studio.

Warunki punktu przerwania

Możesz kontrolować, kiedy i gdzie jest wykonywany punkt przerwania, ustawiając warunki. Warunek może być dowolnym prawidłowym wyrażeniem rozpoznawany przez debuger. Aby uzyskać więcej informacji na temat prawidłowych wyrażeń, zobacz Wyrażenia w debugerze.

Aby ustawić warunek punktu przerwania:

  1. Kliknij prawym przyciskiem myszy symbol punktu przerwania i wybierz pozycję Warunki (lub naciśnij klawisze Alt + F9, C). Możesz też umieścić wskaźnik myszy na symbolu punktu przerwania, wybrać ikonę Ustawienia, a następnie wybrać pozycję Warunki w oknie Ustawienia punktu przerwania.

    Możesz również kliknąć prawym przyciskiem myszy lewy margines obok wiersza kodu i wybrać polecenie Wstaw warunkowy punkt przerwania z menu kontekstowego, aby ustawić nowy warunkowy punkt przerwania.

    Warunki można również ustawić w oknie Punkty przerwania, klikając prawym przyciskiem myszy punkt przerwania i wybierając Ustawienia, a następnie wybierając pozycję Warunki

    Breakpoint settings

    Breakpoint settings

  2. Na liście rozwijanej wybierz pozycję Wyrażenie warunkowe, Liczba trafień lub Filtr i ustaw odpowiednio wartość.

  3. Wybierz pozycję Zamknij lub naciśnij klawisz Ctrl+Enter, aby zamknąć okno Ustawienia punktu przerwania. Lub w oknie Punkty przerwania wybierz przycisk OK , aby zamknąć okno dialogowe.

Punkty przerwania z ustawionymi warunkami są wyświetlane z symbolem w kodzie źródłowym + i oknach punktów przerwania .

Tworzenie wyrażenia warunkowego

Po wybraniu opcji Wyrażenie warunkowe można wybrać między dwoma warunkami: Czy wartość true lub Po zmianie. Wybierz pozycję Prawda, aby przerwać, gdy wyrażenie jest spełnione, lub Gdy zmieniono wartość , aby przerwać, gdy wartość wyrażenia uległa zmianie.

W poniższym przykładzie punkt przerwania jest osiągany tylko wtedy, gdy wartość testInt to 4:

Breakpoint condition is true

Breakpoint condition is true

W poniższym przykładzie punkt przerwania jest osiągany tylko wtedy, gdy wartość testInt zmian:

Breakpoint When changed

Breakpoint When changed

Jeśli ustawisz warunek punktu przerwania z nieprawidłową składnią, zostanie wyświetlony komunikat ostrzegawczy. Jeśli określisz warunek punktu przerwania z prawidłową składnią, ale nieprawidłową semantyczną, zostanie wyświetlony komunikat ostrzegawczy przy pierwszym trafieniu punktu przerwania. W obu przypadkach debuger przerywa działanie po osiągnięciu nieprawidłowego punktu przerwania. Punkt przerwania jest pomijany tylko wtedy, gdy warunek jest prawidłowy i zwraca wartość .false

Uwaga

W przypadku pola Po zmianie debuger nie uwzględnia pierwszej oceny warunku jako zmiany, więc nie osiąga punktu przerwania w pierwszej ocenie.

Używanie identyfikatorów obiektów w wyrażeniach warunkowych (tylko C# i F#)

Czasami chcesz obserwować zachowanie określonego obiektu. Na przykład możesz sprawdzić, dlaczego obiekt został wstawiony do kolekcji więcej niż raz. W językach C# i F#można tworzyć identyfikatory obiektów dla określonych wystąpień typów odwołań i używać ich w warunkach punktu przerwania. Identyfikator obiektu jest generowany przez usługi debugowania środowiska uruchomieniowego języka wspólnego (CLR) i skojarzone z obiektem.

Aby utworzyć identyfikator obiektu:

  1. Ustaw punkt przerwania w kodzie po utworzeniu obiektu.

  2. Rozpocznij debugowanie, a po wstrzymaniu wykonywania w punkcie przerwania wybierz pozycję Debuguj>ustawienia lokalne systemu Windows>(lub naciśnij klawisze Ctrl + Alt + V, L), aby otworzyć okno Ustawienia lokalne.

    Znajdź określone wystąpienie obiektu w oknie Ustawienia lokalne , kliknij go prawym przyciskiem myszy i wybierz pozycję Ustaw identyfikator obiektu.

    W oknie Ustawienia lokalne powinien zostać wyświetlony $ znak plus. Jest to identyfikator obiektu.

  3. Dodaj nowy punkt przerwania w punkcie, który chcesz zbadać; na przykład gdy obiekt ma zostać dodany do kolekcji. Kliknij prawym przyciskiem myszy punkt przerwania i wybierz pozycję Warunki.

  4. Użyj identyfikatora obiektu w polu Wyrażenie warunkowe. Jeśli na przykład zmienna item jest obiektem, który ma zostać dodany do kolekcji, wybierz pozycję Jest prawdziwe i wpisz element == $<n>, gdzie <n> jest numerem identyfikatora obiektu.

    Wykonanie spowoduje przerwanie w momencie dodania tego obiektu do kolekcji.

    Aby usunąć identyfikator obiektu, kliknij prawym przyciskiem myszy zmienną w oknie Ustawienia lokalne i wybierz polecenie Usuń identyfikator obiektu.

Uwaga

Identyfikatory obiektów tworzą słabe odwołania i nie uniemożliwiają zbierania pamięci obiektu. Są one prawidłowe tylko dla bieżącej sesji debugowania.

Ustawianie warunku liczby trafień

Jeśli podejrzewasz, że pętla w kodzie zaczyna działać nieprawidłowo po określonej liczbie iteracji, możesz ustawić punkt przerwania, aby zatrzymać wykonywanie po tej liczbie trafień, zamiast wielokrotnie naciskać klawisz F5 , aby osiągnąć iterację.

W obszarze Warunki w oknie punkt przerwania Ustawienia wybierz pozycję Liczba trafień, a następnie określ liczbę iteracji. W poniższym przykładzie punkt przerwania jest ustawiony tak, aby został trafiony na każdą inną iterację:

Breakpoint hit count

Breakpoint hit count

Ustawianie warunku filtru

Punkt przerwania można ograniczyć do wyzwalania tylko na określonych urządzeniach lub w określonych procesach i wątkach.

W obszarze Warunki w oknie Ustawienia punktu przerwania wybierz pozycję Filtr, a następnie wprowadź co najmniej jedno z następujących wyrażeń:

  • MachineName = "name"
  • ProcessId = wartość
  • ProcessName = "name"
  • ThreadId = wartość
  • ThreadName = "name"

Ujmij wartości ciągu w cudzysłowie podwójnym. Klauzule można łączyć przy użyciu & (AND), || (OR), ! (NOT) i nawiasów.

Ustawianie punktów przerwania funkcji

Wykonywanie można przerwać po wywołaniu funkcji. Jest to przydatne, na przykład, gdy znasz nazwę funkcji, ale nie jej lokalizację. Jest to również przydatne, jeśli masz funkcje o tej samej nazwie i chcesz przerwać na nich wszystkie (takie jak przeciążone funkcje lub funkcje w różnych projektach).

Aby ustawić punkt przerwania funkcji:

  1. Wybierz pozycję Debuguj>nowy punkt przerwania funkcji punktu przerwania>lub naciśnij klawisze Ctrl + K, B.

    Możesz również wybrać pozycję Nowy>punkt przerwania funkcji w oknie Punkty przerwania.

  2. W oknie dialogowym Nowy punkt przerwania funkcji wprowadź nazwę funkcji w polu Nazwa funkcji.

    Aby zawęzić specyfikację funkcji:

    • Użyj w pełni kwalifikowanej nazwy funkcji.

      Przykład: Namespace1.ClassX.MethodA()

    • Dodaj typy parametrów przeciążonej funkcji.

      Przykład: MethodA(int, string)

    • Użyj symbolu "!", aby określić moduł.

      Przykład: App1.dll!MethodA

    • Użyj operatora kontekstu w natywnym języku C++.

      {function, , [module]} [+<line offset from start of method>]

      Przykład: {MethodA, , App1.dll}+2

  3. Na liście rozwijanej Język wybierz język funkcji.

  4. Wybierz przycisk OK.

Ustawianie punktu przerwania funkcji przy użyciu adresu pamięci (tylko natywny język C++)

Możesz użyć adresu obiektu, aby ustawić punkt przerwania funkcji w metodzie wywoływanej przez określone wystąpienie klasy. Na przykład, biorąc pod uwagę adresowalny obiekt typu my_class, można ustawić punkt przerwania funkcji w metodzie my_method , która wywołuje wystąpienie.

  1. Ustaw punkt przerwania gdzieś po utworzeniu wystąpienia klasy.

  2. Znajdź adres wystąpienia (na przykład 0xcccccccc).

  3. Wybierz pozycję Debuguj>nowy punkt przerwania funkcji punktu przerwania>lub naciśnij klawisze Ctrl + K, B.

  4. Dodaj następujący kod do pola Nazwa funkcji, a następnie wybierz pozycję Język C++ .

    ((my_class *) 0xcccccccc)->my_method
    

Ustawianie punktów przerwania danych (.NET Core 3.x lub .NET 5+)

Punkty przerwania danych przerywają wykonywanie po zmianie właściwości określonego obiektu.

Aby ustawić punkt przerwania danych:

  1. W projekcie .NET Core lub .NET 5+ rozpocznij debugowanie i poczekaj na osiągnięcie punktu przerwania.

  2. W oknie Autos, Watch lub Locals (Ustawienia automatyczne) kliknij prawym przyciskiem myszy właściwość i wybierz polecenie Break when value changes in the context menu (Przerwij po zmianie wartości w menu kontekstowym).

    Managed Data Breakpoint

Punkty przerwania danych dla platform .NET Core i .NET 5+ nie będą działać dla:

  • Właściwości, które nie można rozwinąć w etykietce narzędzia, ustawieniach lokalnych, autos lub oknie Czujka
  • Zmienne statyczne
  • Klasy z atrybutem DebuggerTypeProxy
  • Pola wewnątrz struktur

Aby uzyskać maksymalną liczbę, którą można ustawić, zobacz Limity sprzętu punktu przerwania danych.

Ustawianie punktów przerwania danych (tylko natywny język C++)

Punkty przerwania danych przerywają wykonywanie, gdy zmienia się wartość przechowywana na określonym adresie pamięci. Jeśli wartość jest odczytywana, ale nie zmieniana, wykonanie nie powoduje przerwania.

Aby ustawić punkt przerwania danych:

  1. W projekcie języka C++ rozpocznij debugowanie i poczekaj na osiągnięcie punktu przerwania. W menu Debugowanie wybierz pozycję Nowy punkt przerwania danych punktu przerwania>.

    Możesz również wybrać pozycję Nowy>punkt przerwania danych w oknie Punkty przerwania lub kliknąć prawym przyciskiem myszy element w oknie Autos, Watch lub Locals i wybrać polecenie Break when value changes in the context menu (Autos, Watch, or Locals) i wybrać polecenie Break when value changes in the context menu (Podział po zmianie wartości w menu kontekstowym).

  2. W polu Adres wpisz adres pamięci lub wyrażenie, które daje w wyniku adres pamięci. Na przykład wpisz &avar , aby przerwać, gdy zawartość zmiennej avar ulegnie zmianie.

  3. Na liście rozwijanej Liczba bajtów wybierz liczbę bajtów, które mają być obserwowane przez debuger. Jeśli na przykład wybierzesz wartość 4, debuger będzie obserwować cztery bajty rozpoczynające się od &avar i przerywać, jeśli którakolwiek z tych bajtów zmieni wartość.

Punkty przerwania danych nie działają w następujących warunkach:

  • Proces, który nie jest debugowany, zapisuje w lokalizacji pamięci.
  • Lokalizacja pamięci jest współdzielona między co najmniej dwoma procesami.
  • Lokalizacja pamięci jest aktualizowana w jądrze. Jeśli na przykład pamięć zostanie przekazana do 32-bitowej funkcji systemu Windows ReadFile , pamięć zostanie zaktualizowana z trybu jądra, więc debuger nie zostanie przerwany w aktualizacji.
  • Gdzie wyrażenie zegarka jest większe niż 4 bajty na sprzęcie 32-bitowym i 8 bajtów na sprzęcie 64-bitowym. Jest to ograniczenie architektury x86.

Uwaga

  • Punkty przerwania danych zależą od określonych adresów pamięci. Adres zmiennej zmienia się z jednej sesji debugowania na następną, więc punkty przerwania danych są automatycznie wyłączone na końcu każdej sesji debugowania.

  • Jeśli ustawisz punkt przerwania danych w zmiennej lokalnej, punkt przerwania pozostanie włączony po zakończeniu funkcji, ale adres pamięci nie ma już zastosowania, więc zachowanie punktu przerwania jest nieprzewidywalne. Jeśli ustawisz punkt przerwania danych w zmiennej lokalnej, należy usunąć lub wyłączyć punkt przerwania przed zakończeniem funkcji.

Limity sprzętowe punktu przerwania danych

Jądro systemu Windows i podstawowy sprzęt mają następujące limity podczas ustawiania punktów przerwania danych. Limit odnosi się do maksymalnej liczby punktów przerwania danych, które można ustawić.

Architektura procesora Limit punktu przerwania danych
x64 i x86 100
ARM64 2
ARM 1

Ustawianie zależnego punktu przerwania

Zależne punkty przerwania przerywają wykonywanie tylko wtedy, gdy pierwszy punkt przerwania zostanie osiągnięty. Dlatego w złożonym scenariuszu, takim jak debugowanie aplikacji wielowątkowej, można skonfigurować dodatkowe punkty przerwania po pierwszym trafieniu kolejnego punktu przerwania. Może to znacznie ułatwić debugowanie kodu w typowych ścieżkach, takich jak pętla gry lub interfejs API narzędzia, ponieważ punkt przerwania w tych funkcjach można skonfigurować tak, aby był włączany tylko wtedy, gdy funkcja jest wywoływana z określonej części aplikacji.

Aby ustawić zależny punkt przerwania:

  1. Umieść kursor na symbolu punktu przerwania, wybierz ikonę Ustawienia, a następnie wybierz pozycję Włącz tylko po naciśnięciu następującego punktu przerwania w oknie Ustawienia punktu przerwania.

  2. Z listy rozwijanej wybierz punkt przerwania wymagań wstępnych, od którego ma zależeć bieżący punkt przerwania.

Wybierz pozycję Zamknij lub naciśnij klawisze Ctrl+Enter, aby zamknąć okno Ustawienia punktu przerwania. Ewentualnie w oknie Punkty przerwania wybierz przycisk OK , aby zamknąć okno dialogowe. Dependent Breakpoint

Możesz również użyć menu kontekstowego kliknij prawym przyciskiem myszy, aby ustawić zależny punkt przerwania.

  1. Kliknij prawym przyciskiem myszy lewy margines obok wiersza kodu i wybierz pozycję Wstaw zależny punkt przerwania z menu kontekstowego.

    Dependentbreakpoint context

  • Zależne punkty przerwania nie działają, jeśli w aplikacji istnieje tylko jeden punkt przerwania.
  • Zależne punkty przerwania są konwertowane na normalny punkt przerwania wiersza, jeśli zostanie usunięty wstępnie wymagany punkt przerwania.

Ustawianie tymczasowego punktu przerwania

Ten punkt przerwania umożliwia przerwanie kodu tylko raz. Podczas debugowania debuger programu Visual Studio wstrzymuje uruchomioną aplikację tylko raz dla tego punktu przerwania, a następnie usuwa go natychmiast po jego trafieniu.

Aby ustawić tymczasowy punkt przerwania:

  1. Umieść kursor na symbolu punktu przerwania, wybierz ikonę Ustawienia, a następnie wybierz pozycję Usuń punkt przerwania po trafieniu w oknie Ustawienia punktu przerwania.

  2. Wybierz pozycję Zamknij lub naciśnij klawisze Ctrl+Enter, aby zamknąć okno Ustawienia punktu przerwania. Ewentualnie w oknie Punkty przerwania wybierz przycisk OK , aby zamknąć okno dialogowe.

    Temporary breakpoint

Możesz również użyć menu kontekstowego kliknij prawym przyciskiem myszy, aby ustawić tymczasowy punkt przerwania.

  1. Kliknij prawym przyciskiem myszy lewy margines obok wiersza kodu i wybierz polecenie Wstaw tymczasowy punkt przerwania z menu kontekstowego.

    Temporary breakpoint context

Możesz też po prostu użyć skrótu F9 + Shift + Alt, T i ustawić tymczasowy punkt przerwania w żądanym wierszu.

Zarządzanie punktami przerwania w oknie Punkty przerwania

Możesz użyć okna Punkty przerwania , aby wyświetlić wszystkie punkty przerwania i zarządzać nimi w rozwiązaniu. 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 Punkty przerwania można 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 Punkty przerwania, wybierz pozycję Debuguj> punkty przerwania systemu Windows>lub naciśnij klawisze Ctrl+Alt+B.

Breakpoints window

Breakpoints window

Aby wybrać kolumny do wyświetlenia w oknie Punkty przerwania , wybierz pozycję 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 Punkty przerwania.

  1. Aby dodać etykietę do punktu przerwania, kliknij prawym przyciskiem myszy punkt przerwania w kodzie źródłowym lub w oknie Punkty przerwania, a następnie wybierz polecenie Edytuj etykiety. Dodaj nową etykietę lub wybierz istniejącą, a następnie wybierz przycisk OK.
  2. Posortuj listę punktów przerwania w oknie Punkty przerwania, wybierając etykiety, warunki lub inne nagłówki kolumn. Możesz wybrać kolumny do wyświetlenia, wybierając pozycję Pokaż kolumny na pasku narzędzi.

Eksportowanie i importowanie punktów przerwania

Aby zapisać lub udostępnić stan i lokalizację punktów przerwania, możesz je wyeksportować lub zaimportować.

  • Aby wyeksportować pojedynczy punkt przerwania do pliku XML, kliknij prawym przyciskiem myszy punkt przerwania w kodzie źródłowym lub w oknie Punkty przerwania, a następnie wybierz pozycję Eksportuj lub Eksportuj wybrany. Wybierz lokalizację eksportu, a następnie wybierz pozycję 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 Wyszukiwanie . 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 ikony pliku, przejdź do lokalizacji pliku XML i wybierz pozycję Otwórz.

Ustawianie punktów przerwania z okien debugera

Punkty przerwania można również ustawić w oknach debugera stosu wywołań i 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 stosu wywołań.

Aby ustawić punkt przerwania w oknie stosu wywołań:

  1. Aby otworzyć okno stosu wywołań, należy wstrzymać podczas debugowania. Wybierz pozycję Debuguj>stos wywołań systemu Windows>lub naciśnij klawisze Ctrl+Alt+C.

  2. W oknie Stos wywołań kliknij prawym przyciskiem myszy funkcję wywołującą i wybierz pozycję Punkt przerwania Wstaw punkt przerwania>lub naciśnij klawisz 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 Punkty 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 How to: Use the Call Stack window (Instrukcje: używanie okna stosu wywołań).

Aby wizualnie śledzić punkty przerwania podczas wykonywania kodu, zobacz Mapowanie metod na stosie wywołań podczas debugowania.

Ustawianie punktu przerwania w oknie Dezasemblacji

  1. Aby otworzyć okno Dezasemblacja , należy wstrzymać podczas debugowania. Wybierz pozycję Debugowanie>dezasemblacji systemu Windows>lub naciśnij klawisze Ctrl+Alt+D.

  2. W oknie Dezasemblacja kliknij lewy margines instrukcji, którą chcesz przerwać. Możesz również go zaznaczyć i nacisnąć klawisz F9 lub kliknąć prawym przyciskiem myszy i wybrać pozycję Punkt przerwania Wstaw punkt przerwania>.