Dela via


Köra profileringsverktyg vid versions- eller felsökningsversioner (C#, Visual Basic, C++, F#)

Visual Studio erbjuder ett urval av verktyg för prestandamätning och profilering. Vissa verktyg, till exempel CPU-användning och minnesanvändning, kan köras antingen på versionsversioner eller när du felsöker din app (felsökningsversion). Verktyg som visas i fönstret Diagnostikverktyg kan endast köras under en felsökningssession. Verktyg som visas i Performance Profiler kör utan felsökningsprogrammet, vanligtvis på släppversioner, och du analyserar resultaten när du har valt att stoppa och samla in data (för efterhandsanalys).

Prestandaprofilering och de felsökningsintegrerade diagnostikverktygen ger olika information och upplevelser. När du använder diagnostikverktygen visar felsökningsprogrammet variabelvärden och låter dig använda brytpunkter.

Versionsbyggets prestandamätningar i Prestandaprofiler är de mest precisa och exakta. De här verktygen ger dig resultat närmare slutanvändarupplevelsen. Detta är vanligtvis den bästa metoden för att använda profileringsverktygen. Det kan dock finnas scenarier där användningen av felsökningsprogrammet i en felsökningskompilering kan vara till hjälp för att avgränsa prestandaproblemet, särskilt om du vill använda felsökningsfunktioner som brytpunkter och kodstegning.

Tänk på följande för att hjälpa dig att välja mellan att använda profileringsverktygen i versions- eller felsökningsversioner:

  • Versionsversioner ger optimeringar som inlining av funktionsanrop och konstanter, beskärning av oanvända kodsökvägar och lagring av variabler på sätt som inte kan användas av felsökningsprogrammet. Prestandasiffror i felsökningsversioner är mindre exakta eftersom felsökningsversioner saknar dessa optimeringar.
  • Förutom skillnader mellan versionsversioner och felsökningsversioner ändrar själva felsökningsprogrammet prestandatider, eftersom det gör nödvändiga felsökningsåtgärder som att fånga upp undantags- och modulinläsningshändelser.
  • För prestandaproblem som orsakas av CPU-intensiva anrop kan det finnas betydande prestandaskillnader mellan versions- och felsökningsversioner. Kontrollera om CPU-prestandaproblemet finns i release-versioner.
  • Externa prestandaproblem, till exempel problem med fil-I/O eller nätverksresponsivitet, ser inte mycket annorlunda ut i en versionsversion eller i en felsökningsversion.
  • Om problemet bara uppstår med felsökningsversioner behöver du förmodligen inte köra verktygen med versionsversioner.
  • Vissa verktyg, till exempel .NET-objektallokeringsverktyget, är endast tillgängliga i Prestandaprofiler (icke-felsökningsscenarier).

Samla in profileringsdata i versionsbyggen

För att samla in prestandadata för releasebyggen, kör verktygen Prestandaprofiler.

  1. När ett projekt är öppet i Visual Studio ställer du in lösningskonfigurationen på Releaseoch väljer Local Windows Debugger (eller Local Machine) som distributionsmål.

  2. Välj Felsöka>Performance Profilereller tryck på Alt+F2.

  3. På startsidan för diagnostikverktyg väljer du ett eller flera verktyg som ska köras. Endast de verktyg som gäller för projekttypen, operativsystemet och programmeringsspråket visas. Välj Visa alla verktyg för att även se verktyg som är inaktiverade för den här diagnostiksessionen.

    Skärmbild av diagnostikverktyg.

    Skärmbild av diagnostikverktyg.

  4. Starta diagnostiksessionen genom att välja Starta.

    Medan sessionen körs visar vissa verktyg diagram över realtidsdata på sidan diagnostikverktyg och kan visa alternativ för att pausa och återuppta datainsamling.

    Skärmbild av datainsamling på Prestandaprofiler.

    Skärmbild av datainsamling med Performance Profiler.

  5. Avsluta diagnostiksessionen genom att välja Stoppa insamling.

    De analyserade data visas på sidan Report.

    Mer information om de verktyg som är tillgängliga för användning i release builds och hur du analyserar rapporterna finns i:

    Note

    Använd nystart för att hoppa över startsidan och kör automatiskt med dina tidigare inställningar med Alt+F2- eller genom att klicka på Felsöka > Performance Profiler.

  6. (Valfritt) Spara rapporten och öppna den senare från listan Nyligen öppnade sessioner på startsidan för diagnostikverktyg.

    skärmbild av listan med nyligen öppnade sessioner för diagnostikverktyg.

    skärmbild av listan med nyligen öppnade sessioner för diagnostikverktyg.

Samla in profileringsdata vid felsökning

När du börjar felsöka i Visual Studio genom att välja Felsöka>Starta felsökningeller trycka på F5visas fönstret Diagnostikverktyg som standard. Öppna den manuellt genom att välja Felsöka>Windows>Visa diagnostikverktyg. Fönstret Diagnostikverktyg visar information om händelser, processminne, CPU-användning och .NET-räknare.

Skärmbild av Diagnostikverktygsfönstret.

  • Använd ikonen Inställningar i verktygsfältet för att välja om du vill visa CPU-användning, minnesanvändningeller .NET-räknare.

När du börjar felsöka i Visual Studio genom att välja Felsöka>Starta felsökningeller trycka på F5visas fönstret Diagnostikverktyg som standard. Öppna den manuellt genom att välja Felsöka>Windows>Visa diagnostikverktyg. Fönstret Diagnostikverktyg visar information om händelser, processminne och CPU-användning.

Skärmbild av diagnostikverktygsfönstret

  • Använd ikonen Inställningar i verktygsfältet för att välja om du vill visa CPU-användning, minnesanvändningeller UI Analysis.
  • Välj Inställningar i listrutan Inställningar för att öppna egenskapssidorna för Diagnostikverktyg med fler alternativ.

  • Om du kör Visual Studio Enterprise kan du aktivera eller inaktivera IntelliTrace genom att gå till Tools>Options>IntelliTrace.

Diagnostiksessionen avslutas när du slutar felsöka.

Mer information om de verktyg som är tillgängliga vid felsökning finns i:

Fliken Händelser

Under en felsökningssession visar fliken Händelser i fönstret Diagnostikverktyg de diagnostiska händelser som inträffar. Med kategoriprefixen Brytpunkt, Fileoch andra kan du snabbt söka igenom listan efter en kategori eller hoppa över de kategorier som du inte bryr dig om.

Använd listrutan Filter för att filtrera händelser in och ut ur vyn genom att välja eller rensa specifika kategorier av händelser.

Skärmbild av filtret Diagnostikhändelse.

Skärmbild av Diagnostikhändelsefilter

Använd sökrutan för att hitta en specifik sträng i händelselistan. Här är resultatet av en sökning efter filnamnet modell som matchade tre händelser:

Skärmbild av diagnostisk händelsesökning.

Använd sökrutan för att hitta en specifik sträng i händelselistan. Här är resultatet av en sökning efter strängen namn som matchade fyra händelser:

Skärmbild av Diagnostikhändelsesökning

Mer information finns i Söka efter och filtrera fliken Händelser i fönstret Diagnostikverktyg.

Samla in profileringsdata från kommandoraden

Om du vill mäta prestandadata från kommandoraden kan du använda VSDiagnostics.exe, som ingår i Antingen Visual Studio eller Fjärrverktyg. Det här är användbart för att samla in prestandaspårningar på system där Visual Studio inte är installerat eller för att skripta samlingen med prestandaspårningar. Detaljerade anvisningar finns i Mäta programprestanda från kommandoraden.