Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Debuger Visual Studio oferuje wiele potężnych funkcji, które pomogą Ci debugować Twoje aplikacje. Ten temat zapewnia szybki sposób na poznanie niektórych podstawowych funkcji.
Tworzenie nowego projektu
Otwórz program Visual Studio i utwórz projekt.
Jeśli okno uruchamiania nie jest jeszcze otwarte, wybierz pozycję Okno uruchamiania pliku>. W oknie Start wybierz pozycję Utwórz nowy projekt. W polu wyszukiwania wpisz "Pusty projekt", a następnie wybierz szablon Pusty projekt języka C++.
Jeśli nie widzisz szablonu projektu, otwórz Instalatora programu Visual Studio. Wybierz obciążenie rozwojowe aplikacji desktopowych z C++, a następnie wybierz Modyfikuj.
Program Visual Studio tworzy projekt.
Utwórz nowy plik źródłowy o nazwie
MyDbgApp.cppW MyDbgApp.cpp zastąp następujący kod
int main() { return 0; }z tym kodem (nie usuwaj
#include "stdafx.h"):#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }
Ustawianie punktu przerwania
Punkt przerwania to znacznik, który wskazuje, gdzie Visual Studio powinno wstrzymać działanie Twojego kodu, abyś mógł przeanalizować wartości zmiennych, zachowanie pamięci lub sprawdzić, czy dany segment kodu jest wykonywany. Jest to najbardziej podstawowa funkcja debugowania.
Aby ustawić punkt przerwania, kliknij w margines po lewej stronie od wywołania funkcji
doWork(lub zaznacz linię kodu i naciśnij F9).
Teraz naciśnij F5 (lub wybierz Debugowanie > Rozpocznij debugowanie).
Debugger zatrzymuje się tam, gdzie ustawiono punkt przerwania. Instrukcja, w której debuger i wykonywanie aplikacji są wstrzymane, jest wskazywane przez żółtą strzałkę. Wiersz z
doWorkwywołaniem funkcji nie został jeszcze wykonany.Wskazówka
Jeśli masz punkt przerwania w pętli lub rekursji lub jeśli masz wiele punktów przerwania, które często przechodzisz, użyj warunkowego punktu przerwania , aby upewnić się, że kod jest zawieszony tylko w przypadku spełnienia określonych warunków. Warunkowy punkt przerwania oszczędza czas i może również ułatwić debugowanie problemów, które są trudne do odtworzenia.
Podczas próby debugowania błędów związanych z pamięcią w języku C++, możesz również użyć punktów przerwań do sprawdzania wartości adresów (szukaj NULL) i liczników referencji.
Nawigacja po kodzie
Istnieją różne polecenia umożliwiające kontynuowanie działania debugera. Pokazujemy przydatne polecenie nawigacji po kodzie, które jest dostępne od wersji Visual Studio 2017.
Podczas zatrzymania w punkcie przerwania, najedź kursorem na instrukcję c1.push_back(20), aż pojawi się zielony przycisk Uruchom do kliknięcia
, a następnie naciśnij przycisk Uruchom do kliknięcia.
Aplikacja kontynuuje wykonywanie, wywołując metodę doWork, i wstrzymuje się w wierszu kodu, w którym kliknięliśmy przycisk.
Często używane polecenia klawiatury do przechodzenia przez kod to F10 i F11. Aby uzyskać bardziej szczegółowe instrukcje, zobacz Pierwsze spojrzenie na debuger.
Inspekcja zmiennych w datatipie
W bieżącym wierszu kodu, oznaczonym żółtym wskaźnikiem wykonywania, umieść wskaźnik myszy na obiekcie
c1, aby wyświetlić podpowiedź danych.
Wskazówka danych pokazuje bieżącą wartość zmiennej
c1i umożliwia przeglądanie jej właściwości. Jeśli podczas debugowania widzisz wartość, której nie oczekujesz, prawdopodobnie masz usterkę w poprzednim lub wywołującym wiersze kodu.Rozwiń wskazówkę danych, aby zobaczyć bieżące wartości właściwości obiektu
c1.Jeśli chcesz przypiąć dymek danych, aby móc kontynuować obserwowanie wartości
c1podczas wykonywania kodu, kliknij ikonę małego pinezki. (Przypiętą etykietkę danych można przenieść do wygodnej lokalizacji).
Edytowanie kodu i kontynuowanie debugowania
Jeśli zidentyfikujesz zmianę, którą chcesz przetestować w kodzie w trakcie sesji debugowania, możesz to zrobić również.
Kliknij drugie wystąpienie
c2.front()i zmieńc2.front()nac2.back().Naciśnij F10 (lub Debug > Step Over) kilka razy, aby przesunąć debugger i wykonać zmodyfikowany kod.
F10 przesuwa uruchamianie debugera o jedną instrukcję na raz, ale przechodzi nad funkcjami zamiast wchodzić do nich (pomijany kod nadal się wykonuje).
Aby uzyskać więcej informacji na temat używania funkcji edytowania i kontynuacji oraz ograniczeń funkcji, zobacz Edit and Continue.
Następne kroki
W tym samouczku nauczyłeś się, jak uruchomić debugger, przejść przez kod i sprawdzić zmienne. Możesz chcieć uzyskać ogólny przegląd funkcji debuggera wraz z odnośnikami do dalszych informacji.