Anteckning
Å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.
Visual Studio innehåller en kraftfull integrerad uppsättning projektversions- och felsökningsverktyg. Den här artikeln beskriver hur Visual Studio kan hjälpa dig att hitta problem i koden med hjälp av byggutdata, kodanalys, felsökningsverktyg och enhetstester.
Du har listat ut redigeraren och skapat kod. Nu vill du se till att koden fungerar korrekt. I Visual Studio, precis som med de flesta IDE:er, finns det två faser för att få koden att fungera: att skapa koden för att fånga och lösa projekt- och kompileringsfel och köra koden för att hitta körningsfel och dynamiska fel.
Skapa din kod
Det finns två grundläggande typer av byggkonfiguration: Felsökning och version. Felsökningskonfigurationen ger en långsammare, större körbar fil som möjliggör en mer omfattande interaktiv felsökningsupplevelse. Debug-exekverbart ska aldrig levereras. Versionskonfigurationen skapar en snabbare, optimerad körbar fil som är lämplig att skicka (åtminstone ur kompilatorns perspektiv). Standardkonfigurationen för bygget är Felsökning.
Det enklaste sättet att skapa projektet är att trycka på F7, men du kan också starta bygget genom att välja Skapa>bygglösning på huvudmenyn.
Du kan se byggprocessen i utdatafönstret längst ned i Visual Studio-användargränssnittet (användargränssnittet). Fel, varningar och byggåtgärder visas här. Om du har fel (eller om du har varningar över en konfigurerad nivå) misslyckas bygget. Du kan välja fel och varningar för att gå till raden där de inträffade. Återskapa projektet genom att antingen trycka på F7 igen (om du bara vill kompilera om filerna med fel) eller Ctrl+Alt+F7 (för en ren och fullständig återskapande).
Det finns två fönster med flikar i resultatfönstret under redigeraren: utdatafönstret , som innehåller råa kompilatorutdata (inklusive felmeddelanden); och fönstret Fellista , som innehåller en sorterbar och filtrerad lista över alla fel och varningar.
När bygget lyckas visas resultat som detta i fönstret Utdata :
Granska felöversikten
Om du inte har gjort några ändringar i koden som du tidigare har kompilerat framgångsrikt har du förmodligen ett fel. Om du är nybörjare på kodning har du förmodligen många av dem. Fel är ibland uppenbara, till exempel ett enkelt syntaxfel eller ett felaktigt variabelnamn, och ibland är de svåra att förstå, med bara en kryptisk kod som vägleder dig. Om du vill ha en renare vy över problemen navigerar du längst ned i fönstret Build Output (Utdata ) och väljer fliken Fellista . Den här åtgärden tar dig till en mer organiserad vy över felen och varningarna för projektet och ger dig även några extra alternativ.
Välj på felraden i fönstret Fellista för att gå till den rad som felet inträffar i. (Eller aktivera radnummer genom att trycka på Ctrl+Q, skriva radnummer och välj sedan Aktivera eller inaktivera radnummer från resultatet. Den här åtgärden är det snabbaste sättet att komma till dialogrutan Alternativ där du kan aktivera radnummer.)
Tryck på Ctrl+G för att snabbt gå till radnumret där felet inträffade.
Visual Studio identifierar det här felet med ett rött "squiggle"-understreck. Hovra över den för mer information. Gör korrigeringen och den försvinner, även om du kan introducera ett nytt fel med korrigeringen. (Den här åtgärden kallas "regression".)
Gå igenom fellistan och åtgärda alla fel i koden.
Granska fel i detalj
Många fel kanske inte är meningsfulla för dig, formulerade som de är i termer av kompilatorn. I sådana fall kan du behöva ytterligare information. I fönstret Fellista kan du utföra en automatisk Bing-sökning för mer information om felet eller varningen. Högerklicka på motsvarande postrad och välj Visa felhjälp på snabbmenyn eller välj värdet för hyperlänkad felkod i kolumnen Kod i fellistan.
Beroende på dina inställningar visar antingen webbläsaren sökresultaten för felkoden och texten, eller så öppnas en flik i Visual Studio och visar resultatet av Bing-sökningen. Resultaten kommer från många olika källor på Internet, och du kanske inte tycker att allt är användbart.
Använda kodanalys
Kodanalyserare letar efter vanliga kodproblem som kan leda till körningsfel eller problem i kodhantering.
C# och Visual Basic-kodanalys
Visual Studio innehåller en inbyggd uppsättning .NET Compiler Platform-analysverktyg som undersöker C# och Visual Basic-kod när du skriver. Du kan installera fler analysverktyg som ett Visual Studio-tillägg eller som ett NuGet-paket. Om regelöverträdelser upptäcks rapporteras de både i fellistan och i kodredigeraren i form av en vågig linje under den felaktiga koden.
C++-kodanalys
Om du vill analysera C++-kod kör du statisk kodanalys. Få för vana att köra den när du har rensat upp de uppenbara felen som förhindrar en lyckad version och ta lite tid att åtgärda de varningar som den kan generera. Du kan spara lite huvudvärk på vägen, och du kan lära dig några kodstilstekniker.
Tryck på Alt+F11 (eller välj Analysera>Köra kodanalys på lösning från den översta menyn) för att starta analys av statisk kod.
Alla nya eller uppdaterade varningar visas på fliken Fellista längst ned i IDE. Välj en varning för att gå direkt till den i koden.
Använd snabbåtgärder för att åtgärda eller omstrukturera kod
Med Snabbåtgärder, som är tillgängliga från glödlampan eller skruvmejselikonen, kan du omstrukturera kod infogad. De är ett enkelt sätt att snabbt och effektivt åtgärda vanliga varningar i C#-, C++- och Visual Basic-kod. För att få tillgång till dem högerklickar du på en varningskrumelur och väljer Snabbåtgärder och refaktoriseringar. Eller, när markören är på linjen med den färgade krumeluren, trycker du på Ctrl+. eller väljer glödlampan, fellampan eller skruvmejselikonen i marginalen. Visual Studio visar sedan en lista över möjliga korrigeringar eller refaktoriseringar som du kan tillämpa på den kodraden.
Snabbåtgärder kan användas varhelst kodanalyserare fastställer att det finns en möjlighet att åtgärda, omstrukturera eller förbättra koden. Välj på valfri kodrad, högerklicka för att öppna snabbmenyn och välj Snabbåtgärder och refaktoriseringar. Om refaktoriserings- eller förbättringsalternativ är tillgängliga visas de. Annars visas meddelandet Inga snabbåtgärder tillgängliga här i det nedre vänstra hörnet av IDE.
Med erfarenhet kan du snabbt använda piltangenterna och Ctrl+. För att söka efter enkla refaktoriseringsmöjligheter och rensa koden!
Kör rensning av kod
Visual Studio tillhandahåller formatering på begäran av C#-kodfilen, inklusive inställningar för kodformat, via knappen Kodrensning längst ned i redigeraren.
Förutom att formatera filen för blanksteg, indrag och så vidare tillämpar Code Cleanup även en uppsättning kodformatkonventioner som du definierar. Dina inställningar för varje kodformat läss från filen EditorConfig, om du har en för projektet eller från kodformatsinställningar i dialogrutan Alternativ.
Felsöka din körande kod
Nu när du har skapat koden och utfört en liten rensning kör du den genom att trycka på F5 eller välja Felsökning>Starta felsökning. Den här åtgärden startar din app i en felsökningsmiljö så att du kan observera dess beteende i detalj. Visual Studio IDE ändras när appen körs: Utdatafönstret ersätts av två nya (i standardfönstrets konfiguration), fönstret Autos/Locals/Watch och fönstret Samtalsstack/Brytpunkter/Undantagsinställningar/Tabb för utdata . Dessa fönster har flera flikar som gör att du kan inspektera och utvärdera appens variabler, trådar, anropsstackar och andra beteenden när den körs.
Stoppa appen genom att trycka på Skift+F5 eller genom att klicka på knappen Stoppa . Eller så kan du bara stänga appens huvudfönster (eller kommandoradsdialogrutan).
Om koden kördes perfekt och exakt som förväntat, grattis! Ibland kan koden dock sluta svara eller krascha, eller ge dig några konstiga resultat. I så fall bör du försöka hitta källan till dessa problem och åtgärda buggarna.
Ange enkla brytpunkter
Brytpunkter är den mest grundläggande och viktiga funktionen för tillförlitlig felsökning. En brytpunkt anger var Visual Studio ska pausa den kod som körs så att du kan ta en titt på värdena för variabler, minnesbeteendet eller om en gren av koden körs. Du behöver inte återskapa ett projekt efter att du har angett och tagit bort brytpunkter.
Ange en brytpunkt genom att klicka i den bortre marginalen på raden där du vill att brytpunkten ska ske, eller tryck på F9 för att ange en brytpunkt på den aktuella kodraden. När du kör koden pausas den (eller bryts) innan instruktionerna för den här kodraden körs.
Vanliga användningsområden för brytpunkter är:
För att begränsa källan till en krasch eller ett program som inte svarar, placera ut brytpunkter genom hela och runt om koden för metodanropet som du tror orsakar felet. När du kör kod i felsökningsprogrammet tar du bort och återställer sedan brytpunkterna närmare varandra tills du hittar den felaktiga kodraden. Se nästa avsnitt för att lära dig hur du kör kod i felsökningsprogrammet.
När du introducerar ny kod anger du en brytpunkt i början av den och kör koden för att se till att den beter sig som förväntat.
Om du har implementerat ett komplicerat beteende anger du brytpunkter för den algoritmiska koden så att du kan granska värdena för variablerna och data när programmet bryts.
Om du skriver C- eller C++-kod använder du brytpunkter för att stoppa koden så att du kan kontrollera adressvärden (leta efter NULL) och referensantal vid felsökning av minnesrelaterade fel.
Mer information om hur du använder brytpunkter finns i Använda brytpunkter i Visual Studio-felsökningsprogrammet.
Inspektera koden under körning
När koden som körs når en brytpunkt och pausar har den kodrad som är markerad i gult (den aktuella instruktionen) inte körts ännu. Nu kanske du vill köra den aktuella instruktionen och sedan granska de ändrade värdena. Du kan använda flera stegkommandon för att köra kod i felsökningsprogrammet. Om den markerade koden är ett metodanrop kan du gå in i den genom att trycka på F11. Du kan också gå över kodraden genom att trycka på F10. Mer kommandon och information om hur du stegar igenom kod finns i Navigera genom kod med hjälp av felsökningsprogrammet.
I föregående bild kan du flytta fram en instruktion för felsökningsprogrammet genom att trycka på F10 eller F11 (eftersom det inte finns något metodanrop här har båda kommandona samma resultat).
När felsökningsprogrammet är pausat kan du inspektera dina variabler och anropa staplar för att avgöra vad som händer. Är värdena i de intervall som du förväntar dig att se? Görs samtal i rätt ordning?
Hovra över en variabel för att se dess aktuella värde och referenser. Om du ser ett värde som du inte förväntade dig har du förmodligen en bugg i föregående kod eller anropskod. Mer information finns i Första titt på Visual Studio-felsökningsprogrammet.
Visual Studio visar dessutom fönstret Diagnostikverktyg , där du kan observera appens cpu- och minnesanvändning över tid. Senare i apputvecklingen kan du använda dessa verktyg för att söka efter oväntad tung CPU-användning eller minnesallokering. Använd det med visningsfönstret och brytpunkterna för att avgöra vad som orsakar oväntad tung användning eller outgivna resurser. Mer information finns i Avsnittet om profileringsverktyg (C#, Visual Basic, C++, F#).
Köra enhetstester
Enhetstester är din första försvarslinje mot kodbuggar eftersom de, när de görs korrekt, testar en enda "enhet" med kod, vanligtvis en enda funktion, och är lättare att felsöka än ditt fullständiga program. Visual Studio installerar Microsoft-enhetstestningsramverken för både hanterad och intern kod. Använd ett ramverk för enhetstestning för att skapa enhetstester, köra dem och rapportera resultatet av dessa tester. Kör enhetstester igen när du gör ändringar för att testa att koden fortfarande fungerar korrekt. Med Visual Studio Enterprise-utgåvan kan du köra tester automatiskt efter varje version.
Kom igång genom att läsa Generera enhetstester för fuzz-testning med hjälp av IntelliTest.
Mer information om enhetstester i Visual Studio och hur de kan hjälpa dig att skapa kod av bättre kvalitet finns i Grunderna för enhetstest.