Udostępnij za pośrednictwem


Punkty przerwania: korzystanie z liczby trafień, funkcje stosu wywołań oraz warunki przerywania w wybranym miejscu i czasie w debugerze Visual Studio

Ustawianie punktów przerwania dla źródła wierszy, instrukcje montażu i wywołania funkcji stosu.Określ warunki, liczby trafień i lokalizacji wykonywania.Drukowanie z tracepoints.Zapisz i zaimportuj punkty przerwania.

Spis treści

Tworzenie punktów przerwania, które Podziel, jeśli zachodzi potrzeba

Ustawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos

Dostęp do zaawansowanych funkcji punktów przerwania

Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

Drukuj w oknie dane wyjściowe z tracepoints

Zarządzaj punktów przerwania w oknie punkty przerwania

Rozwiązywanie problemów z punktów przerwania

Dokumentacja symbole punkt przerwania

Tworzenie punktów przerwania, które Podziel, jeśli zachodzi potrzeba

Punkty przerwania standardowe, które przerwać wykonywanie debuger każdym razem, gdy jest wskaż lokalizację pliku źródłowego, są jedną z najważniejszych technik debugowania przybornika przez dewelopera.Program Visual Studio pomaga wykracza poza przerwania standardowe można utworzyć precyzyjną kontrolę nad kiedy i gdzie wykonuje punktu przerwania.

  • Można ustawić czasu wykonywania punktów przerwania, które wstrzymania wykonywania, jeśli Twój program zwraca funkcji na połączenie stosu i uniknąć długich serii Wyjdź polecenia.

  • W razie podejrzeń, że zaczyna się pętlę w kodzie, źle działający po określonej liczbie iteracji, można ustawić punkt przerwania, aby zatrzymać wykonanie po upływie określonej liczby trafień do skojarzony wiersz kodu, a nie zostanie wymuszone jego wielokrotnie naciśnij klawisz F5 (debugowanie, Kontynuuj) do osiągnięcia poziomu iteracji.

  • Przy użyciu, używając wyrażeń kodu, można określić dokładne warunki, w których dzieli punktu przerwania.

Można użyć punkty przerwania okno, aby zarządzać stanu i zachowanie dużą liczbę punktów przerwania.Jeśli należy uważnie zbudowania sekwencję punktów przerwania, aby zdiagnozować problem wspólnych lub szczególnie złożone, można zapisać lub udostępnianie tych punktów przerwania przy użyciu punkty przerwania okno Importowanie i eksportowanie poleceń.

Informacje dotyczące przestrogiPrzestroga

Unikaj Ustawianie punktów przerwania na składniki systemu podczas debugowania kodu mieszane (macierzysty i zarządzanie nimi).Ustawienie punktu przerwania na składnik systemu podczas debugowania mieszanym może powodować plików wykonywalnych języka podziału i debuger przestać odpowiadać.

Powrót do początkuSpis treści

Ustawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos

  • Ustawienia punktu przerwania w pliku źródłowym • ustawienia punktu przerwania w funkcji zwrotny w oknie stos wywołań • ustawienia punktu przerwania w instrukcji zestawu w oknie demontażu

Ustawienia punktu przerwania w pliku źródłowym

Poniżej przedstawiono dwie metody, aby ustawić punkt przerwania standardowe w oknie źródła:

  • Kliknij dwukrotnie w oknie w wierszu, który ma być dzielone w obszarze odstępu.

    —lub—

  • Wybierz wiersz, a następnie wybierz opcję F9.

Punkt przerwania w oknie stos wywołań

Ikona punkt przerwania pojawia się w obszarze odstępu.

Aby wzrokowo śledzenia punkty przerwania podczas wykonywania kodu, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..

Powrót do początkuUstawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos

Powrót do początkuSpis treści

Ustawienia punktu przerwania w funkcji powrotu w oknie stos wywołań

Można przerwać wykonywanie w instrukcji lub wiersza, który wywoływania funkcji, zwraca przez ustawienie punktu przerwania stos wywołań okna.Debuger musi być w trybie przerwania.

  • Otwórz stos wywołań okna (klawisz skrótu: Ctrl + Alt + C) i wybierz podziału w funkcji wywołującej.

  • Wybierz punkt przerwania, Wstaw punkt przerwania w menu kontekstowym lub po prostu klawisza skrótu: F9.

Symbol punktu przerwania zostanie wyświetlony lewy margines obok nazwy wywołania funkcji.

Punkt przerwania w oknie stos wywołań

W przypadku otwarcia punkty przerwania okna (klawisz skrótu: Ctrl + Alt + B) punkt przerwania jest wyświetlany jako punkt przerwania adres z lokalizacji w pamięci, umożliwiająca następnej instrukcji pliku wykonywalnego w funkcji.Debuger dzieli wykonania w instrukcji.

Wywołanie przerwania stosu w oknie punkty przerwania

Aby wzrokowo śledzenia punkty przerwania podczas wykonywania kodu, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..

Powrót do początkuSet a breakpoint at a source line, assembly instruction, or call stack function

Powrót do początkuSpis treści

Ustaw punkt przerwania na instrukcję zestawu w oknie demontażu

Ustawienia punktu przerwania w zestawie instrukcję, debuger musi być w trybie przerwania.

  1. Otwórz demontażu okna (klawisz skrótu: Ctrl + Alt + D).

  2. Wykonaj jedną z następujących czynności:

    1. Kliknij dwukrotnie w oknie w wierszu, który ma być dzielone w obszarze odstępu.

      —lub—

    2. Wybierz wiersz, a następnie wybierz opcję F9.

Powrót do początkuUstawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos

Powrót do początkuSpis treści

Dostęp do zaawansowanych funkcji punktów przerwania

Menu kontekstowe punktu przerwania

W oknie źródła stos wywołań okna, lub Disasssembly okna, otwórz menu kontekstowe punkt przerwania i wybierz polecenie Właściwości.

W oknie punktów przerwania zaznacz wiersz punkt przerwania i otwórz menu kontekstowe.Można też ustawić niektórych warunków, bezpośrednio w kolumnie warunek.

Powrót do początkuSpis treści

Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

  • Określ liczba trafień w którym wykonuje punkt przerwania • określony warunek przerwania za pomocą wyrażenia kodu • Określ urządzeń, procesów lub wątków, które wykonuje punkt przerwania na • ustawienia punktu przerwania zmiany danych (tylko w macierzystym C++)

Określ liczbę kliknięć, w którym wykonuje punkt przerwania

Element liczba trafień przechowuje informacje o ile razy trafić jest punkt przerwania.Ustaw wartość i warunek, aby punkt przerwania wykonuje, gdy liczba trafień równa się wartości, jest równa wielokrotnością liczby określonej wartości lub jest większa lub równa wartości.Aby określić liczby trafień i warunków:

  1. Otwórz przerwania liczba trafień okno dialogowe.

    1. W źródle demontażu, lub stos wywołań , wybierz wiersz, który zawiera punkt przerwania, a następnie wybierz punkty przerwania, liczba trafień w menu kontekstowym.

      —lub—

    2. W punkty przerwania , zaznacz wiersz punkt przerwania, a następnie wybierz liczba trafień w menu kontekstowym.

      Okno dialogowe liczby trafień punkt przerwania

  2. Wybierz warunek i wprowadź liczbę kliknięć.

Liczba, które warunki są przydatne, gdy chcesz przerwać w pętli w określonej liczbie iteracji trafień.Można również określić bardzo dużo dodatkowych, aby określić liczbę przypadków, gdy punkt przerwania jest trafień, ale nie chcesz przerwać wykonywania.

Określonej liczby trafień jest przechowywany tylko dla bieżącej sesji debugowania.Po zakończeniu sesji debugowania, liczba trafień jest resetowany do zera.

Powrót do początkuOkreśl punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

Powrót do początkuSpis treści

Określ warunek przerwania za pomocą wyrażenia kodu

Element warunku punkt przerwania jest wyrażeniem debuger po osiągnięciu punktu przerwania.Jeśli jest spełniony warunek, debuger dzieli wykonywania.

Stan, który może być prawidłowym wyrażeniem, który został rozpoznany przez debugera.W programie bankowej, na przykład, można ustawić punkt przerwania warunek takich jak balance < 0.Aby uzyskać więcej informacji dotyczących wyrażeń prawidłowy, zobacz wyrażenia w debuger.

Aby określić warunek punkt przerwania

  1. Otwórz menu kontekstowe punkt przerwania i wybierz polecenie warunku.

  2. W warunku punkt przerwania okna dialogowego Wprowadź prawidłowe wyrażenie w warunku pola.

  3. Wybierz ma wartość true Jeśli chcesz przerwać Jeśli wyrażenie jest spełniony, lub wybierz zmienił Jeśli chcesz przerwać, gdy zostanie zmienione wartości wyrażenia.

Debuger nie ocena wyrażenie aż do osiągnięcia punktu przerwania po raz pierwszy.Jeśli zostanie wybrana opcja zmienił dla kodu macierzystego, debuger nie należy wziąć pod uwagę pierwszej oceny tego warunku na zmianę, więc punkt przerwania nie trafień na pierwszej oceny.Po wybraniu zmienił dla kodu zarządzanego he punkt przerwania jest Traf w pierwszej oceny po zmienił jest zaznaczone.

Jeśli ustawisz warunek przerwania z nieprawidłową składnię pojawia się komunikat ostrzegawczy natychmiast.Jeśli z prawidłowa składnia, ale nieprawidłową semantykę określamy warunek punkt przerwania, pojawia się komunikat ostrzegawczy punkt przerwania jest trafić po raz pierwszy.W obu przypadkach debuger dzieli wykonania po naciśnięciu jest nieprawidłowy punkt przerwania.Punkt przerwania jest pominięty, tylko wtedy, gdy warunek jest prawidłowy, a wartość false.

Powrót do początkuOkreśl punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

Powrót do początkuSpis treści

Określ urządzeń, procesów lub wątków, które wykonuje punkt przerwania na

  1. Otwórz menu kontekstowe punktu przerwania i wybierz polecenie filtru.

    Okno dialogowe Filtr punkt przerwania

  2. Określ kryteria filtrowania zgodnie z instrukcjami pola okna dialogowego.

Powrót do początkuOkreśl punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

Powrót do początkuSpis treści

Ustaw punkt przerwania zmiany danych (tylko w macierzystym C++)

Punkty przerwania danych przerwanie wykonywania przy zapisywaniu wartość, która znajduje się w lokalizacji określonej pamięci.Jeśli wartość jest do odczytu, ale nie zostały zapisane, nie przerwanie wykonywania.Aby ustawić danych punktów przerwania, debuger musi być w trybie przerwania.

  1. Na debugowanie menu, wybierz polecenie nowy punkt przerwania, nowych danych punkt przerwania.

    —lub—

    W punkty przerwania menu okna, wybierz polecenie nowy, nowych danych punkt przerwania.

    Okno dialogowe Nowy punkt przerwania

  2. W adres wpisz adres pamięci lub wyrażenie, które oblicza adres pamięci.

    Na przykład wpisz &avar do dzielenia, gdy zawartość zmiennej avar zmiany.

  3. W liczba bajtów wpisz liczbę bajtów ma debuger oglądanie.

    Na przykład po wpisaniu 4, debuger będzie Obejrzyj czterech bajtów, począwszy od &myFunction i Podziel któregokolwiek z tych bajtów zmiany wartości.

Aby ustawić danych punktów przerwania, debuger musi być w trybie przerwania.

Punkty przerwania danych nie działają w tych warunkach:

  • Jeśli proces, który nie jest on debugowane zapisuje w lokalizacji pamięci

  • Jeśli lokalizacji pamięci jest udostępniana między dwoma procesami.

  • Jeśli lokalizacji pamięci jest aktualizowana jądra.Na przykład jeśli pamięci został przekazany do funkcji Windows ReadFile 32-bitowy, pamięć zostaną zaktualizowane w trybie jądra i debuger nie Podziel podczas zapisu pamięci.

Adresy zmiennych zmiany z jednej sesji debugowania do następnego.Z tego powodu przerwania danych są automatycznie wyłączone na końcu każdej sesji debugowania.

Jeśli ustawisz punktu przerwania danych w zmiennej lokalnej, punkt przerwania danych pozostaje włączony zakończenia funkcji.Adres pamięci jest ustawiony na nie ma jednak interpretować.Dlatego wyniki punkt przerwania są nieprzewidywalnego.Jeśli ustawisz punktu przerwania danych w zmiennej lokalnej, najkorzystniej jest usunąć lub wyłączyć punkt przerwania przed zakończeniem funkcji.

Visual Studioobsługuje maksymalnie cztery przerwania danych na rozwiązanie.

Powrót do początkuOkreśl punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych

Powrót do początkuSpis treści

Drukuj w oknie dane wyjściowe z tracepoints

Tracepoints są dzienniki bazy danych w inny sposób.Tracepoint jest punkt przerwania, które są drukowane komunikat do danych wyjściowych okna.Tracepoint może pełnić rolę instrukcję tymczasowe śledzenia w języku programowania.

Aby wydrukować wiadomość na istniejącej punkt przerwania, otwórz menu kontekstowe punkt przerwania i wybierz polecenie podczas trafić.

Określ komunikat do wydrukowania w gdy punkt przerwania jest trafić okno dialogowe.

Gdy punkt przerwania jest trafień okno dialogowe

Określ komunikat

Należy podać informacje dotyczące programowania w komunikacie za pomocą składni DebuggerDisplayAttribute (zobacz DebuggerDisplayAttribute).Oto kilka przykładów:

  • In function '{$FUNC}', on thread '{$TID}'

  • Used variable: {varName}, function name: {functionName($FUNC)}

Możesz używać słowa kluczowe, które są opisane w gdy punkt przerwania jest trafić okno dialogowe.Ponadto można użyć dwóch innych słów kluczowych, które nie są wyświetlane w oknie dialogowym: $TICK Wstawia bieżącą liczbę cykli Procesora, gdy $FILEPOS wstawia bieżącej pozycji w pliku.

Określ zachowanie tracepoint

Aby przerwać wykonywanie po wybraniu tracepoint, wyczyść kontynuować wykonanie pole wyboru.Gdy kontynuować wykonywania zaznaczono wykonywania nie jest zatrzymana.W obu przypadkach wiadomość jest drukowana.

Wyłącz tracepoint

Aby tymczasowo wyłączyć tracepoint, wyczyść drukowania wiadomości pole wyboru.

Powrót do początkuSpis treści

Zarządzaj punktów przerwania w oknie punkty przerwania

  • Eksportowanie i importowanie przerwania • etykiety punktów przerwania

Prawie wszystkie funkcje ustawienie, konfigurowanie i zarządzanie punkty przerwania z punkty przerwania okna jest dostępna w lokalizacjach poszczególnych punkt przerwania w oknach źródła stos wywołań oknie i demontażu okna.Ale punkty przerwania okna daje centralne miejsce do zarządzania wszystkie Twoje punkty przerwania, które mogą być pomocne w dużych rozwiązania lub złożonych scenariuszach debugowania, gdzie są krytyczne punkty przerwania.Jeśli musisz zapisać lub udostępnianie stanu i lokalizację zestaw punktów przerwania, można zapisać i zaimportuj pliki punkt przerwania tylko z punkty przerwania okna.

Powrót do początkuZarządzaj punktów przerwania w oknie punkty przerwania

Powrót do początkuSpis treści

Etykieta przerwania

Punkt przerwania etykiety są używane tylko w punkty przerwania okno do sortowania i filtrowania listy punktów przerwania.Aby dodać etykietę do punktu przerwania, wybierz wiersz punkt przerwania, a następnie wybierz etykiety w menu kontekstowym.

Rozwiązywanie problemów z punktów przerwania

  • Debuger nie może określić plik źródłowy dla punktu przerwania • debuger nie może odnaleźć właściwą wersję pliku źródłowego dla punktu przerwania • punktów przerwania nie działają w bibliotece DLL

Debuger nie może określić plik źródłowy punkt przerwania

Jeśli co najmniej dwa pliki źródłowe w projekcie ma taką samą nazwę, debuger może mieć problemy z określania plik, który zawiera punkt przerwania jest ustawiana w.Występuje to często po utworzeniu modułu o takiej samej nazwie, jako składnik łączysz Biblioteka debugowania.

Aby rozwiązać ten problem, wybierz w oknie źródła punkt przerwania i wybierz polecenie lokalizacji w menu kontekstowym.

Okno dialogowe punkt przerwania plik

Wpisz pełną ścieżkę do prawidłowego pliku w pliku pola

Powrót do początkuRozwiązywanie problemów z punktów przerwania

Powrót do początkuSpis treści

Debuger nie może odnaleźć właściwą wersję pliku źródłowego dla punktu przerwania

Jeśli plik źródłowy został zmieniony i źródło nie zgadza się kod do debugowania, debuger może zlokalizować pliku źródłowego umożliwiająca punkt przerwania, nawet jeśli plik źródłowy istnieje.

  1. Jeśli chcesz, aby wyświetlić kod źródłowy, który nie pasuje do wersji w programie Visual Studio debugowania, wybierz debugowanie, opcji i ustawień.Na debugowanie/ogólne Usuń zaznaczenie używać tylko kodu źródłowego, dokładnie odpowiadający oryginalną wersję opcji.

  2. Punkt przerwania może także powiązać z pliku źródłowego.Zaznacz punkt przerwania i wybierz polecenie lokalizacji w menu kontekstowym.Sprawdź kodu źródłowego różni się od pierwotnej wersji w punkt przerwania pliku okno dialogowe.

Powrót do początkuRozwiązywanie problemów z punktów przerwania

Powrót do początkuSpis treści

Punktów przerwania nie działają w bibliotece DLL

Nie można ustawić punkt przerwania w pliku źródłowym gdy debuger nie została załadowana informacje debugowania dla modułu którym znajduje się kod.Objawy mogą obejmować wiadomości, takich jak nie można ustawić punkt przerwania.Symbol punktu przerwania ostrzeżenie pojawia się w lokalizacji punkt przerwania.Jednak te punkty przerwania ostrzeżenie stają się rzeczywista przerwania po załadowaniu kod.

Powrót do początkuRozwiązywanie problemów z punktów przerwania

Powrót do początkuSpis treści

Dokumentacja symbole punkt przerwania

Windows źródła i demontażu okna Pokaż punkt przerwania lokalizacje wyświetlając symbole o nazwie symbole w lewego marginesu.W poniższej tabeli opisano tych symboli.

Jeśli umieszczeniu wskaźnika myszy na symbolu punkt przerwania poradę punkt przerwania pojawi się bardziej szczegółowymi informacjami.Informacje te są szczególnie użyteczne w przypadku błędu i ostrzeżenia przerwania.

Symbol

Opis

Symbol debugowania 1

Punkt przerwania normalne.Pełny symbol wskazuje, że punkt przerwania jest włączone.Pusty symbol wskazuje, że usługa jest wyłączona.

Symbol debugowania 2

Zaawansowane punkt przerwania.Aktywne/wyłączenia.+ Znak wskazuje, czy punkt przerwania jest co najmniej jeden dołączony zaawansowanych funkcji (takich jak warunku, liczba trafień lub filtrować).

Symbol debugowania 3

Mapowane punkt przerwania.Aktywne/wyłączenia.Punkt przerwania jest ustawiana w ASP /ASP.NET kodu i mapowane na punktu przerwania w odpowiedniej strony HTML, lub ustawienia w pliku skryptu po stronie serwera oraz mapowane na odpowiedni plik skryptu po stronie klienta.

Symbol debugowania 4

Tracepoint.Aktywne/wyłączenia.Naciśnięcie tego punktu wykonuje określoną akcję, ale nie Podziel wykonywania programu.

Symbol debugowania 5

Zaawansowane tracepoint.Aktywne/wyłączenia.+ Znak wskazuje, że tracepoint ma co najmniej jeden dołączony zaawansowanych funkcji (takich jak warunku, liczba trafień lub Filtruj).

Symbol debugowania 6

Mapowane tracepoint.Aktywne/wyłączenia.Tracepoint jest ustawiana w ASP /ASP.NET kodu oraz mapowane na tracepoint w odpowiedniej strony HTML.

Symbol debugowania 7

Błąd przerwania lub tracepoint.X wskazuje, że punkt przerwania lub tracepoint nie można ustawić z powodu błędu.

Symbol debugowania 8

Punkt przerwania lub ostrzeżenie tracepoint.Wykrzyknik wskazuje, że punkt przerwania lub tracepoint nie można ustawić ze względu na tymczasowe warunku.Zazwyczaj oznacza to, że kod w lokalizacji punktu przerwania lub tracepoint nie została jeszcze załadowana.Można również wyświetlić, jeśli dołączyć do procesu i symboli dla tego procesu nie są załadowane.Po załadowaniu kodu lub symbole punkt przerwania zostanie włączone, a symbolu ulegnie zmianie.

Powrót do początkuSpis treści

Zobacz też

Koncepcje

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