Dela via


Så här felsöker du en release-version

I den här artikeln beskrivs vilka kompilator- och länkningsväxlar som ska ställas in så att du kan felsöka en versionsversion av ett program.

En bättre upplevelse är tillgänglig från och med Visual Studio 2022 version 17.14 som gör att du kan felsöka optimerad kod som om den kompilerats ooptimerad, samtidigt som hastigheten för optimerad kod bibehålls. Mer information finns i C++ Dynamisk felsökning (förhandsversion).

Så här felsöker du en släppversion

  1. Öppna dialogrutan egenskapssidor för projektet. Mer information finns i Ange C++-kompilator- och byggegenskaper i Visual Studio.

  2. Klicka på C/C++-noden. Ange Felsök informationsformat tillC7-kompatibelt (/Z7) eller programdatabas (/Zi).

  3. Expandera Linker och klicka på noden Allmänt . Ange Aktivera inkrementell länkning till Nej (/INCREMENTAL:NO).

  4. Under Linker väljer du noden Felsökning . Ange Generera felsökningsinformation till Ja (/DEBUG).

  5. Under Linker väljer du noden Optimering . Ange Referenser till Nej (/OPT:NOREF) och Aktivera COMDAT-vikning till Nej (/OPT:NOICF).

  6. Nu kan du felsöka ditt releasebygge av applikationen. Om du vill hitta ett problem går du igenom koden (eller använder Just-In-Time felsökning) tills du hittar var felet inträffar och fastställer sedan felaktiga parametrar eller kod.

    Om ett program fungerar i en felsökningsversion, men misslyckas i en versionsversion, kan en av kompilatoroptimeringarna exponera en defekt i källkoden. Om du vill isolera problemet inaktiverar du valda optimeringar för varje källkodsfil tills du hittar filen och den optimering som orsakar problemet. (För att påskynda processen kan du dela upp filerna i två grupper, inaktivera optimering för en grupp och när du hittar ett problem i en grupp fortsätter du att dela upp tills du isolerar problemfilen.)

    Använd /RTC för att försöka exponera sådana buggar i felsökningsversionerna.

    Mer information finns i Optimera din kod.

Se även

Att åtgärda problem med releasebuild