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ń.
Przestroga |
---|
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ć. |
Spis 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.
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..
Ustawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos
Spis 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.
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.
Aby wzrokowo śledzenia punkty przerwania podczas wykonywania kodu, zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..
Set a breakpoint at a source line, assembly instruction, or call stack function
Spis treści
Ustaw punkt przerwania na instrukcję zestawu w oknie demontażu
Ustawienia punktu przerwania w zestawie instrukcję, debuger musi być w trybie przerwania.
Otwórz demontażu okna (klawisz skrótu: Ctrl + Alt + D).
Wykonaj jedną z następujących czynności:
Kliknij dwukrotnie w oknie w wierszu, który ma być dzielone w obszarze odstępu.
—lub—
Wybierz wiersz, a następnie wybierz opcję F9.
Ustawienia punktu przerwania w wierszu źródła, instrukcji zestawu lub wywołania funkcji stos
Spis treści
Dostęp do zaawansowanych funkcji punktów 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. |
Spis 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:
Otwórz przerwania liczba trafień okno dialogowe.
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—
W punkty przerwania , zaznacz wiersz punkt przerwania, a następnie wybierz liczba trafień w menu kontekstowym.
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.
Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych
Spis 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
Otwórz menu kontekstowe punkt przerwania i wybierz polecenie warunku.
W warunku punkt przerwania okna dialogowego Wprowadź prawidłowe wyrażenie w warunku pola.
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.
Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych
Spis treści
Określ urządzeń, procesów lub wątków, które wykonuje punkt przerwania na
Otwórz menu kontekstowe punktu przerwania i wybierz polecenie filtru.
Określ kryteria filtrowania zgodnie z instrukcjami pola okna dialogowego.
Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych
Spis 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.
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.
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.
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.
Określ punkt przerwania dzieli przez liczbę kliknięć, wyrażenie wersji ewaluacyjnej, w lokalizacji wykonywania lub zmiana danych
Spis 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.
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.
Spis 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.
Zarządzaj punktów przerwania w oknie punkty przerwania
Spis 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.
Wpisz pełną ścieżkę do prawidłowego pliku w pliku pola
Rozwiązywanie problemów z punktów przerwania
Spis 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.
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.
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.
Rozwiązywanie problemów z punktów przerwania
Spis 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.
Rozwiązywanie problemów z punktów przerwania
Spis 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 |
---|---|
Punkt przerwania normalne.Pełny symbol wskazuje, że punkt przerwania jest włączone.Pusty symbol wskazuje, że usługa jest wyłączona. |
|
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ć). |
|
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. |
|
Tracepoint.Aktywne/wyłączenia.Naciśnięcie tego punktu wykonuje określoną akcję, ale nie Podziel wykonywania programu. |
|
Zaawansowane tracepoint.Aktywne/wyłączenia.+ Znak wskazuje, że tracepoint ma co najmniej jeden dołączony zaawansowanych funkcji (takich jak warunku, liczba trafień lub Filtruj). |
|
Mapowane tracepoint.Aktywne/wyłączenia.Tracepoint jest ustawiana w ASP /ASP.NET kodu oraz mapowane na tracepoint w odpowiedniej strony HTML. |
|
Błąd przerwania lub tracepoint.X wskazuje, że punkt przerwania lub tracepoint nie można ustawić z powodu błędu. |
|
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. |
Spis treści