Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban megtudhatja, hogyan használhatja a Visual Studio hibakeresőt a natív C++ kód hibakereséséhez. Ez a cikk gyors módot kínál a hibakeresőben való munkavégzés alapvető funkcióinak megismerésére.
Ha nem rendelkezik Visual Studio, telepítheti a free próbaverziót a Visual Studio Letöltések lapról.
Új projekt létrehozása
Először hozzon létre egy új projektet, hogy legyen némi kódja, amelyet ellenőrizhet a hibakeresőben.
Nyissa meg a Visual Studiót, és hozzon létre egy új projektet.
Ha a Kezdőablak nincs megnyitva, válassza a Fájl>Kezdőablak parancsot.
A Start ablakban válassza az Új projekt létrehozása lehetőséget.
Az Új projekt létrehozása ablakban állítsa be a szűrőket, és keressen egy projektsablont.
A Sablonok keresése mezőbe írja be az üres értéket.
Bontsa ki a Nyelv legördülő menüt, és válassza a C++ lehetőséget.
Az eredmények listájában válassza a C++ Empty Project sablont, majd válassza Next.
Ha nem látja a C++ Empty Project sablonját, válassza a Kontinue kód nélkül lehetőséget.
Válassza a Tools>Eszközök és szolgáltatások... , amely megnyitja a Visual Studio Telepítőt.
A Telepítő ablakban jelölje be a C++ számítási feladattal rendelkező asztali fejlesztés jelölőnégyzetét, majd válassza a Módosítás lehetőséget.
A Visual Studio telepítése frissül, hogy tartalmazza a kijelölt C++-munkaterhelést.
A frissítés befejezése után válassza a Fájlindító>ablak lehetőséget, és az előző utasításokat követve válassza ki a szükséges sablont.
Az új projekt konfigurálása:
Adjon meg egy Project nevet és Solution nevet, vagy használja az alapértelmezett értékeket.
Használja az alapértelmezett helyet , vagy válassza a Tallózás (...) lehetőséget a projekt másik mappában való létrehozásához.
Válassza a Create gombot.
Visual Studio létrehozza az új projektet, és hozzáadja a projektfájlokat a megadott mappához.
Projektfájl hozzáadása
Adjon hozzá egy kódfájlt, hogy a hibakeresőben tesztelni tudja a tartalmat.
A Megoldáskezelő panelen kattintson a jobb gombbal a <project-name>, majd válassza a Add>Új elem lehetőséget.
Ha nem látja a Megoldáskezelő panelt, válassza a View>Megoldáskezelő lehetőséget.
Az Új elem hozzáadása párbeszédpanelen adja meg a fájl nevét MyDbgApp.cpp, majd válassza a Hozzáadás lehetőséget.
A fájl megnyílik a kódszerkesztőben.
Adja hozzá a következő kódot az új fájlhoz.
#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(); }Mentse a fájlmódosításokat a Ctrl+S billentyűparanccsal.
Töréspont beállítása
A breakpoint egy jelölés, amely azt jelzi, hogy a Visual Studiónak hol kell felfüggesztenie a futó kód végrehajtását. Töréspont beállításakor áttekintheti a változók aktuális értékeit, megvizsgálhatja a memória működését, és ellenőrizheti, hogy fut-e egy adott kódág. A töréspontok a hibakeresés legalapvetőbb funkciói.
Töréspont beállításához keresse meg a kódban a
doWork()függvény hívását, majd kattintson a bal oldali margón ugyanazon a soron.A töréspont beállításakor egy piros pont jelenik meg a bal oldali margón, a kód megfelelő sorában.
Kezdje el a hibakeresést az F5 billentyűparanccsal (vagy válassza aHibakeresés indítása> lehetőséget).
A kódvégrehajtás közvetlenül a függvény hívása
doWork()előtt szünetel.A hibakereső ott áll meg, ahol a töréspontot beállította. A sárga nyíl azt az utasítást azonosítja, amelyben a hibakereső szünetelteti az alkalmazás végrehajtását.
Jótanács
A C++-kódban előforduló memóriával kapcsolatos hibák hibakeresésekor töréspontokkal is megvizsgálhatja a címértékeket (keresse a(z)
NULLelemet) és a hivatkozásszámokat.
Feltételes töréspontok beállítása
Ha töréspontot állít be egy hurokban vagy rekurzióban, vagy ha sok olyan törésponttal rendelkezik, amelyeken gyakran lépeget, használjon feltételes töréspontot.
Ezzel a módszerrel biztosítható, hogy a kód csak bizonyos feltételek teljesülése esetén legyen felfüggesztve. A feltételes töréspontok időt takaríthatnak meg, és megkönnyítik a nehezen reprodukálható problémák hibakeresését is.
A kód végigjárása
Visual Studio számos különböző módot kínál arra, hogy utasítsa a hibakeresőt az alkalmazás végrehajtásának folytatására. Az alábbi példa egy hasznos parancsot mutat be a kód végigjárásához.
Amíg a kód szünetel a töréspontnál, vigye az egérmutatót az utasítás c1.push_back(20) fölé, amíg meg nem jelenik a zöld Futtatás a kattintáshoz (Futtatás ide)
ikon. Válassza ki az ikont.
Amíg a kód szünetel a töréspontnál, vigye az egérmutatót az utasítás c1.AddLast(20) fölé, amíg meg nem jelenik a zöld Futtatás a kattintáshoz (Futtatás ide)
ikon. Válassza ki az ikont.
Az alkalmazás tovább fut, meghívja a doWork elemet, majd megáll annál a kódsornál, ahol a Run to click lehetőséget választotta.
A kód lépésenkénti végrehajtásához használt gyakori billentyűparancsok közé tartozik az F10 és az F11. Részletesebb útmutatásért lásd: A Visual Studio hibakereső áttekintése.
Változók vizsgálata adattippben
Az adattipp funkcióval megvizsgálhatja a változók állapotát.
Az aktuális kódsorban (sárga végrehajtási mutatóval jelölve) mutasson az objektumra az
c1adattipp megtekintéséhez.
Az adattipp megjeleníti a változó aktuális értékét
c1, és lehetővé teszi annak tulajdonságainak vizsgálatát.Hibakereséskor, ha egy változó váratlan értékét látja, valószínűleg hiba lépett fel. A hiba lehet a változó hívását kezdeményező kódban vagy az előző sorban.
Nyissa meg az adattippet a
c1objektum aktuális tulajdonságértékeinek megtekintéséhez.Ha folytatni szeretné a kód végrehajtásának értékének
c1ellenőrzését, válassza a pin
ikont az adattippen.A rögzítési művelet nyitva tartja az adattippet. A kód végrehajtásakor a rögzített tipp értéke megváltozik, hogy megjelenjen a figyelt objektum aktuális állapota.
A rögzített tippet az IDE bármely helyére áthelyezheti, így nem akadályozza meg, hogy más elemeket is megfigyeljen a hibakeresés során.
Forró újratöltés engedélyezése hibakeresés közben
Ha hibakeresés közben olyan módosítást lát, amelyet tesztelni szeretne a kódban, használhatja a Hot Reload funkciót (korábban Szerkesztés és folytatás).
Válassza ki az utasítás második példányát
c2.front(), és módosítsa a kódot a következőrec2.back(): .Válassza az F10-et néhányszor (vagy válassza a Hibakeresési>lépés néhányszor) lehetőséget a hibakereső továbbfejtéséhez és a szerkesztett kód végrehajtásához.
F10 előrelépteti a hibakeresőt egy utasítással, de a függvényeken átlép ahelyett, hogy belépne azokba (a kihagyott kód még mindig végrehajtódik).
A funkcióval és a korlátozásokkal kapcsolatos további információkért lásd: Configure Hot Reload.