Dela via


Redigera och fortsätt (C++)

Du kan använda Hot Reload, tidigare kallat Edit and Continue, i C++-projekt. Information om begränsningarna för funktionen finns i Kodändringar som stöds (C++).

Du kan använda Redigera och fortsätt i C++-projekt. Mer information om begränsningarna för Redigera och fortsätt finns i Kodändringar som stöds (C++).

Kompileringsalternativet /Zo (Förbättra optimerad felsökning) lägger till ytterligare information i .pdb-filer (symbol) för binärfiler som kompilerats utan alternativet /Od (Inaktivera (Felsökning)).

Alternativet /Zo inaktiverar Redigera och Fortsätt enligt beskrivningen i Så här felsöker du optimerad kod.

Aktivera eller inaktivera Hot Reload

Du kanske vill inaktivera automatisk aktivering av Hot Reload om du gör ändringar i koden som du inte vill ska tillämpas under den aktuella debuggningssessionen. Du kan återaktivera automatisk Hot Reload vid behov.

Viktigt!

Nödvändiga bygginställningar och annan information om funktionskompatibilitet finns i C++ Redigera och fortsätt i Visual Studio 2015 Update 3.

  1. Om du för närvarande befinner dig i en felsökningssession kan du sluta felsöka (Skift + F5).
  1. Öppna Verktyg>Alternativ fönstret, och expandera avsnittet Alla inställningar>Felsökning>.NET/C++ Laddning utan omstart sektionen.

  2. Om du vill aktivera Hot Reload när du startar med debuggern (F5), markerar du kryssrutan Aktivera Hot Reload i den högra rutan.

    När du har markerat kryssrutan kan du konfigurera följande alternativ:

    Alternativ för snabbåterladdning Description Förinställning
    Tillämpa ändringar automatiskt på fortsätt (endast inbyggt) Tillämpar ändringar när du fortsätter med debuggern ansluten (F5). Enabled
    Varna för föråldrad kod Aktiverar en varning när felsökaren påträffar kod som har ändrats men inte kan tillämpas omedelbart. Enabled
    Aktivera när du inte felsöker Aktiverar snabb inläsning vid start utan att felsökaren är ansluten (Ctrl + F5). Enabled
    Tillämpa på filsparning Tillämpar ändringar när filen sparas. Disabled
    Loggningsdetaljnivå Ange loggningsnivån när Hot Reload är aktiverad. Välj mellan Minimal, Detaljerad eller Diagnostik. Minimal
  1. Öppna dialogrutan Verktygsalternativ> och expandera avsnittet Debugging.NET>.

  2. Välj ett eller alla av följande alternativ för att aktivera funktionen:

    • Aktivera snabb inläsning: Aktiverar snabb inläsning när du börjar med felsökningsprogrammet (F5).

    • Aktivera snabb inläsning vid start utan felsökning: Aktiverar snabb inläsning när du startar utan att felsökaren är ansluten (Ctrl + F5).

    • Aktivera Hot Reload vid filsparande: Aktiverar Hot Reload när filen sparas.

    • Loggningsveroalitet: Ange loggningsnivå när frekvent omläsning är aktiverat. Välj mellan Minimal (standard), Detaljerad eller Diagnostik.

    Om du ändrar de här inställningarna påverkas alla projekt som du arbetar med. Du behöver inte återskapa programmet när du har ändrat en inställning. Om du skapar ditt program från kommandoraden eller från en makefile, men du felsöker i Visual Studio-miljön, kan du fortfarande använda Redigera och Fortsätt om du anger alternativet /ZI .

  3. Välj OK.

Aktivera eller inaktivera Redigera och fortsätt

Du kanske vill inaktivera det automatiska anropet av Redigera och Fortsätt om du gör ändringar i koden som du inte vill ska tillämpas under den aktuella felsökningssessionen. Du kan återaktivera automatisk redigering och fortsätt efter behov.

Viktigt!

Nödvändiga bygginställningar och annan information om funktionskompatibilitet finns i C++ Redigera och fortsätt i Visual Studio 2015 Update 3.

  1. Om du för närvarande befinner dig i en felsökningssession kan du sluta felsöka (Skift + F5).

  2. Öppna dialogrutan Verktygsalternativ> och expandera avsnittet Felsöka>.

  3. Om du vill aktivera Redigera och fortsätt markerar du kryssrutan Aktivera redigera och fortsätt . Avmarkera kryssrutan om du vill inaktivera alternativet.

  4. I gruppen Redigera och fortsätt markerar eller avmarkerar du kryssrutan Aktivera intern redigering och Fortsätt .

    Om du ändrar den här inställningen påverkas alla projekt som du arbetar med. Du behöver inte återskapa programmet när du har ändrat den här inställningen. Om du skapar ditt program från kommandoraden eller från en makefile, men du felsöker i Visual Studio-miljön, kan du fortfarande använda Redigera och Fortsätt om du anger alternativet /ZI .

Tillämpa kodändringar explicit.

I C++ kan Redigera och fortsätt tillämpa kodändringar på två sätt. Kodändringar kan tillämpas implicit, när du väljer ett körningskommando, eller uttryckligen, med hjälp av kommandot Tillämpa kodändringar .

När du uttryckligen tillämpar kodändringar förblir programmet i avbrottsläge – ingen körning sker.

  • Om du vill tillämpa kodändringar explicit går du till felsökningsmenyn och väljer Tillämpa kodändringar.

Stoppa kodändringar

Medan Redigera och Fortsätt håller på att tillämpa kodändringar kan du stoppa åtgärden.

Så här slutar du tillämpa kodändringar:

  • På menyn Felsök väljer du Sluta tillämpa kodändringar.

    Det här menyalternativet visas bara när kodändringar tillämpas.

    Om du väljer det här alternativet bekräftas ingen av kodändringarna.

Återställ körningspositionen

Vissa kodändringar kan leda till att körningspunkten flyttas till en ny position när ”Redigera och Fortsätt” tillämpar ändringarna. Funktionen placerar körningspunkten så exakt som möjligt, men resultatet kanske inte är korrekt i alla fall.

I C++ meddelar en dialogruta när exekveringspunkten ändras. Du bör kontrollera att platsen är korrekt innan du fortsätter felsökningen. Om det inte är korrekt ska du använda kommandot Sätt nästa instruktion. Mer information finns i Ange nästa instruktion som ska köras.

Arbeta med inaktuell kod

I vissa fall kan redigera och fortsätta inte tillämpa kodändringar på den körbara filen omedelbart, men kan eventuellt tillämpa kodändringarna senare om du fortsätter felsökningen. Det här scenariot inträffar om du redigerar en funktion som anropar den aktuella funktionen eller om du lägger till fler än 64 byte av nya variabler till en funktion i anropsstacken.

I sådana fall fortsätter felsökningsprogrammet att köra den ursprungliga koden tills ändringarna kan tillämpas. Den inaktuella koden visas som ett tillfälligt källfilfönster i ett separat källfönster med en rubrik som enc25.tmp. Den redigerade källan fortsätter att visas i det ursprungliga källfönstret. Om du försöker redigera den inaktuella koden visas ett varningsmeddelande.