Sdílet prostřednictvím


Názorný postup: Pomocí Profilování připojení rozhraní API

Návod používá aplikace C# prokázat použití Visual Studio profilování rozhraní API nástroje.Rozhraní API profiler použije omezit množství dat, shromážděné během vytváření profilu služby WMI.

Kroky v tomto návodu se obecně u aplikace C/C++.Pro každý jazyk je třeba odpovídajícím způsobem nakonfigurovat prostředí pro sestavování.

Obvykle je spustit pomocí Profilování vzorku analyzovat výkon aplikace.Pokud vzorek profilování neposkytuje informace, které zjišťuje kritický bod, profilování instrumentation zajistit vyšší úroveň podrobností.Profilování WMI je velmi užitečné pro vyšetřování podproces interakce.

Vyšší úroveň podrobností však znamená další údaje.Je možné, že profilování WMI vytvoří velké datové soubory.WMI je také může ovlivnit výkon aplikace.Další informace naleznete v tématu Principy hodnoty dat WMI v Profilování nástroje a Princip odběru vzorků datové hodnoty v Profilování nástroje.

Visual Studio profiler umožňuje omezit sběr údajů.Tento návod nabízí příklad, jak omezit sběr dat pomocí Profilování připojení rozhraní API.Visual Studio profiler poskytuje rozhraní API pro řízení shromažďování dat z aplikace.

Nativního kódu Visual Studio profiler rozhraní API jsou v VSPerf.dll.Soubor záhlaví, VSPerf.h a import knihovny, VSPerf.lib, jsou umístěny v adresáři 9\Team nástroje pro nástroje Microsoft Visual Studio.

Pro spravovaný kód okna profilování rozhraní API jsou Microsoft.VisualStudio.Profiler.dll.Tato knihovna DLL se nachází v adresáři 9\Team nástroje pro nástroje Microsoft Visual Studio.Další informace naleznete v tématu Microsoft.VisualStudio.Profiler.

Požadavky

Tento postup předpokládá, že volba vývojové prostředí je nakonfigurována pro podporu ladění a odběru vzorků.Následující témata obsahují přehled tyto předpoklady:

Jak: Zvolte metod sběru

Jak: Symbol informace systému Windows

Ve výchozím nastavení při spuštění okna profilování okna profilování shromažďuje data na globální úrovni.Následující kód na začátku program změní globální profilování vypnout.

        DataCollection.StopProfile(
        ProfileLevel.Global,
        DataCollection.CurrentId);

Sběr dat na příkazovém řádku můžete vypnout bez použití volání API.Následující postup předpokládá sestavení prostředí příkazového řádku je nakonfigurován pro spuštění nástroje profilování a jako nástroje pro vývoj.To zahrnuje nastavení, které jsou nezbytné pro VSInstr a VSPerfCmd.Viz profilování nástroje příkazového řádku.

Omezení shromažďování dat pomocí Profilování připojení rozhraní API

Vytvořit kód k profilu

  1. Vytvořit nový projekt C#, Visual Studio nebo pomocí příkazového řádku sestavení, v závislosti na vašich preferencích.

    [!POZNÁMKA]

    Vaše sestavení musí referenční knihovny Microsoft.VisualStudio.Profiler.dll, který je umístěn v adresáři 9\Team nástroje pro nástroje Microsoft Visual Studio.

  2. Zkopírujte a vložte následující kód do projektu:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.VisualStudio.Profiler;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            public class A
            {
             private int _x;
    
             public A(int x)
             {
              _x = x;
             }
    
             public int DoNotProfileThis()
             {
              return _x * _x;
             }
    
             public int OnlyProfileThis()
             {
              return _x + _x;
             }
    
             public static void Main()
             {
            DataCollection.StopProfile(
            ProfileLevel.Global,
            DataCollection.CurrentId);
              A a;
              a = new A(2);
              int x;    
              Console.WriteLine("2 square is {0}", a.DoNotProfileThis());
              DataCollection.StartProfile(
                  ProfileLevel.Global,
                  DataCollection.CurrentId);
              x = a.OnlyProfileThis();
              DataCollection.StopProfile(
                  ProfileLevel.Global, 
                  DataCollection.CurrentId);
              Console.WriteLine("2 doubled is {0}", x);
             }
            }
    
        }
    }
    

Ke sběru a zobrazení dat v aplikaci Visual Studio IDE

  1. Otevřít Visual Studio IDE.K analyzovat nabídce přejděte na Profilera pak vyberte výkon nové relace.

  2. Přidat do vašeho kompilované binární cíle v seznamu Explorer výkon okna.Pravým tlačítkem myši na cílea pak vyberte Přidat cílový binární.Vyhledejte binární v Přidat cílový binární dialogovém okně a klepněte na otevřených.

  3. Vyberte Instrumentation z metody na seznam Explorer výkon nástrojů.

  4. Klepněte na tlačítko Spustit s profilování.

    Okna profilování přístroje a provést binární soubor a vytvořit soubor sestavy výkonu.Soubor výkon sestavy se objeví v zprávy uzlu Explorer výkon.

  5. Otevřete výsledný soubor sestavy výkonu.

Ve výchozím nastavení při spuštění okna profilování okna profilování bude shromažďovat data na globální úrovni.Následující kód na začátku program změní globální profilování vypnout.

        DataCollection.StopProfile(
        ProfileLevel.Global,
        DataCollection.CurrentId);

Shromáždit a zobrazit data na příkazovém řádku

  1. Kompilace ladicí verzi ukázkový kód vytvořený v postupu "Vytváření kódu do profilu" dříve v tomto návodu.

  2. Chcete-li profil spravované aplikace, zadejte následující příkaz k nastavení proměnných prostředí vhodné:

    VsPefCLREnv /traceon

  3. Zadejte následující příkaz: VSInstr <filename> exe

  4. Zadejte následující Output příkaz: VSPerfCmd /start:trace: <filename> .vsp

  5. Zadejte následující příkaz: VSPerfCmd /globaloff

  6. Spusťte program.

  7. Zadejte následující příkaz: VSPerfCmd Shutdown

  8. Zadejte následující příkaz: VSPerfReport /calltrace: <filename> .vsp

    Soubor CSV je vytvořen v aktuálním adresáři se výsledná data výkonu.

Viz také

Referenční dokumentace

Microsoft.VisualStudio.Profiler

Koncepty

Začínáme s profilování nástroje

Pomocí Profilování nástroje z příkazového řádku

Další zdroje

Visual Studio Profiler API Reference (nativní)