Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten utforskar du hur du använder Visual Studio felsökningsprogrammet för att felsöka din interna C++-kod. Den här artikeln innehåller ett snabbt sätt att lära dig några av de grundläggande funktionerna för att arbeta i felsökningsprogrammet.
Om du inte har Visual Studio kan du installera utvärderingsversionen free från sidan Visual Studio Nedladdningar.
Skapa ett nytt projekt
Börja med att skapa ett nytt projekt, så att du har lite kod för att checka in felsökningsprogrammet.
Öppna Visual Studio och skapa ett nytt projekt.
Om startfönstret inte är öppet väljer du Startfönster för fil>.
I startfönstret väljer du Skapa ett nytt projekt.
I fönstret Skapa ett nytt projekt anger du filtren och söker efter en projektmall.
I rutan Sök efter mallar anger du tom.
Expandera listrutan Språk och välj C++.
I listan med resultat väljer du mallen Empty Project för C++och väljer sedan Nästa.
Om du inte ser mallen Empty Project för C++, väljer du alternativet Kontinuera utan kod.
Välj Tools>Get Tools and Features... som öppnar installationsprogrammet för Visual Studio.
I fönstret Installationsprogram markerar du kryssrutan för Skrivbordsutveckling med C++ -arbetsbelastning och väljer sedan Ändra.
Din Visual Studio-installation uppdateras så att den inkluderar den valda C++-arbetsbelastningen.
När uppdateringen är klar väljer duStartfönster för > och följer de föregående anvisningarna för att välja den mall som krävs.
Konfigurera det nya projektet:
Ange namnet Project och Solution eller använd standardvärdena.
Använd standardplatsen eller välj bläddra (...) för att skapa projektet i en annan mapp.
Välj Skapa.
Visual Studio skapar det nya projektet och lägger till projektfilerna i den angivna mappen.
Lägga till en projektfil
Lägg till en kodfil så att du har innehåll att testa i felsökningsprogrammet.
I fönstret Prieskumník riešení högerklicka på din <project-name> och välj Lägg till>Nyt objekt.
Om du inte ser fönstret Prieskumník riešení väljer du View>Prieskumník riešení.
I dialogrutan Lägg till nytt objekt anger du filnamnet MyDbgApp.cpp och väljer sedan Lägg till.
Filen öppnas i kodredigeraren.
Lägg till följande kod i den nya filen.
#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(); }Spara dina filändringar med kortkommandot Ctrl+S .
Ange en brytpunkt
En breakpoint är en markör som anger var Visual Studio ska pausa koden som körs. När en brytpunkt har angetts kan du ta en titt på de aktuella värdena för variabler, undersöka minnesbeteendet och kontrollera om en specifik kodgren körs. Brytpunkter är den mest grundläggande funktionen vid felsökning.
Om du vill ange en brytpunkt, letar du upp anropet till funktionen
doWork()i koden och väljer sedan i den vänstra marginalen på samma rad.När brytpunkten har angetts visas en röd punkt i den vänstra rännstenen på motsvarande rad i koden.
Börja felsöka med hjälp av kortkommandot F5 (eller välj Felsök>Starta felsökning).
Kodkörningen pausas omedelbart före anropet av funktionen
doWork().Felsökningsprogrammet pausar där du anger brytpunkten. En gul pil visar den instruktion där felsökaren pausar appens körning.
Tips/Råd
När du felsöker minnesrelaterade fel i C++-kod kan du också använda brytpunkter för att inspektera adressvärden (sök efter
NULL) och referensräkningar.
Ange villkorsstyrda brytpunkter
Om du anger en brytpunkt i en loop eller rekursion, eller om du har många brytpunkter som du ofta går igenom, använder du en villkorlig brytpunkt.
Den här metoden hjälper till att se till att koden pausas endast när specifika villkor uppfylls. En villkorlig brytpunkt kan spara tid och även göra det enklare att felsöka problem som är svåra att återskapa.
Gå igenom koden
I Visual Studio finns det flera olika sätt att instruera felsökaren att fortsätta köra appen. I följande exempel visas ett användbart kommando för att gå igenom koden.
Medan koden pausas vid brytpunkten hovrar du över -instruktionen c1.push_back(20) tills du ser den gröna ikonen Kör för att klicka (Kör körning till här).
Välj ikonen.
Medan koden pausas vid brytpunkten hovrar du över -instruktionen c1.AddLast(20) tills du ser den gröna ikonen Kör för att klicka (Kör körning till här).
Välj ikonen.
Appen fortsätter att köras, anropar doWorkoch pausar på den kodrad där du valde Kör för att klicka.
Vanliga tangentbordskommandon som används för att stega igenom kod är F10 och F11. Mer detaljerade instruktioner finns i Översikt av Visual Studio felsökningsprogrammet.
Granska variabler i ett datatips
Du kan kontrollera tillståndet för dina variabler med hjälp av datatipsfunktionen .
I den aktuella kodraden (markerad med den gula körningspekaren) hovrar du över
c1objektet för att se datatipset.
Datatipset visar det aktuella värdet för variabeln
c1och gör att du kan inspektera dess egenskaper.Om du ser ett oväntat värde för en variabel när du felsöker har du förmodligen en bugg. Felet kan finnas i koden som gör anropet till variabeln eller på föregående rad.
Expandera datatipset för att titta på objektets aktuella egenskapsvärden
c1.Om du vill fortsätta kontrollera värdet på
c1medan koden körs väljer du nålikonen
i datatipset.Pin-åtgärden håller datatipset öppet. När koden körs ändras värdet i det fästa tipset för att visa aktuellt tillstånd för det övervakade objektet.
Du kan flytta det fästa tipset till valfri plats i IDE:t, så det hindrar dig inte från att titta på andra objekt vid felsökning.
Aktivera direkt omladdning under felsökning
Om du ser en ändring som du vill testa i koden när du felsöker kan du använda funktionen Hot Reload (kallades tidigare Redigera och fortsätt).
Välj den andra instansen av -instruktionen
c2.front()och ändra koden tillc2.back().Välj F10 några gånger (eller välj Felsök>steg över några gånger) för att gå vidare med felsökningsprogrammet och köra den redigerade koden.
F10 avancerar felsökningsprogrammet en instruktion i taget, men steg över funktioner i stället för att kliva in i dem (koden som du hoppar över körs fortfarande).
Mer information om funktionen och begränsningarna finns i Konfigurera Hot Reload.