Aracılığıyla paylaş


Öğretici: vcperf ve Windows Performans Analizi

C++ Derleme Analizler araçları Visual Studio 2019 ve sonraki sürümlerde kullanılabilir. Bu sürümün belgelerini görmek için, bu makalenin Visual Studio Sürüm seçici denetimini Visual Studio 2019 veya üzeri olarak ayarlayın. Bu sayfadaki içindekiler tablosunun en üstünde bulunur.

Bu öğreticide, C++ derlemenizin bir izlemesini toplamak için kullanmayı vcperf.exe öğreneceksiniz. Ayrıca bu izlemenin Windows Performans Analizi'da nasıl görüntüleyebileceğinizi de öğreneceksiniz.

1. Adım: Windows Performans Analizi yükleme ve yapılandırma

WPA, Windows Değerlendirme ve Dağıtım Seti'nde (ADK) kullanılabilen bir izleme görüntüleyicidir. Visual Studio yükleyicisi ile yükleyebileceğiniz bileşenlerin bir parçası olmayan ayrı bir yardımcı programdır.

C++ Derleme Analizler destekleyen WPA sürümü yalnızca Windows ADK'nin 10.1.19041.0 veya sonraki sürümlerinde kullanılabilir.

WPA'yi indirmek ve yüklemek için

NOT: Windows Performans Analizi yüklemek için Windows 8 veya üzeri gereklidir.

  1. Windows ADK indirme sayfasına gidin.

  2. Windows ADK'nin en son sürümünü indirin ve yükleyin.

  3. Yüklemek istediğiniz özellikler istendiğinde Windows Performans Araç Seti'ni seçin. İsterseniz diğer özellikleri seçebilirsiniz, ancak WPA'yı yüklemeleri gerekmez.

    The Windows Performance Analyzer installer's feature selection screen.

WPA'yi yapılandırmak için

WPA'da C++ Derleme Analizler izlemelerini görüntülemek için özel bir eklenti gerekir. Yüklemek için şu adımları izleyin:

  1. Aşağıdaki bileşenlerden birini indirerek eklentiyi edinin. İkisini de almanıza gerek yok. En uygun bulduğunuzu seçin.

  2. perf_msvcbuildinsights.dll Dosyayı WPA yükleme dizininize kopyalayın.

    1. Visual Studio 2019 sürüm 16.6 ve üzeri sürümlerde, bu dosya burada bulunur: C:\Program Files (x86)\Microsoft Visual Studio\{Year}\{Edition}\VC\Tools\MSVC\{Version}\bin\Host{Architecture}\{Architecture}.
    2. C++ Derleme Analizler NuGet paketinde bu dosya burada bulunur: wpa\{Architecture}.
    3. Yukarıdaki yollarda, küme ayraçlarıyla çevrili değişkenleri aşağıdaki gibi değiştirin:
      1. {Year} , 2019 veya 2022 gibi Visual Studio ürün yılınızdır.
      2. {Edition} Community, Professional veya Enterprise gibi Visual Studio sürümünüzdür.
      3. {Version} MSVC sürümünüzdür. Kullanılabilir en yüksek olanı seçin.
      4. {Architecture}: Windows'un 64 bit sürümüne sahip olup olmadığınızı seçin x64 . Aksi takdirde öğesini seçin x86.
    4. WPA yükleme dizini genellikle şöyledir: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit.
  3. WPA yükleme dizininizde dosyasını açın perfcore.ini ve için perf_msvcbuildinsights.dllbir girdi ekleyin.

2. Adım: vcperf.exe ile derlemenizi izleme

C++ Derleme Analizler verilerini görüntülemek için önce şu adımları izleyerek bu verileri bir izleme dosyasına toplayın:

  1. Yönetici modunda VS için bir x64 veya x86 Yerel Araçlar Komut İstemi açın. (Başlat menüsü öğesine sağ tıklayın ve Diğer>Yönetici olarak çalıştır'ı seçin.)

    1. Windows'un 64 bit sürümüne sahipseniz x64'i seçin. Aksi takdirde x86'yı seçin.
  2. Komut istemi penceresinde şu komutu girin:

    vcperf.exe /start SessionName

    SessionName için anımsayacağınız bir oturum adı seçin.

  3. Projenizi normalde yaptığınız gibi oluşturun. Derlemek için aynı komut istemi penceresini kullanmanız gerekmez.

  4. Komut istemi penceresinde şu komutu girin:

    vcperf.exe /stop SessionNametraceFile.etl

    Daha önce SessionName için seçtiğiniz oturum adını kullanın. traceFile.etl izleme dosyası için uygun bir ad seçin.

Geliştirici komut istemi penceresinde tipik bir vcperf.exe komut dizisi şöyle görünür:

Screenshot of a command window showing vcperf.exe commands and results.

vcperf.exe hakkında önemli notlar

  • Yönetici istrator ayrıcalıkları, vcperf.exe izlemesini başlatmak veya durdurmak için gereklidir. Yönetici olarak çalıştır'ı kullanarak açtığınız bir geliştirici komut istemi penceresi kullanın.

  • Bir makinede aynı anda yalnızca bir izleme oturumu çalıştırılabilir.

  • İzlemenizi başlatmak için kullandığınız oturum adını anımsadığınızdan emin olun. Çalışan bir oturumu adını bilmeden durdurmak zahmetli olabilir.

  • Cl.exe ve link.exe gibi vcperf.exe komut satırı yardımcı programı da MSVC yüklemesine dahil edilir. Bu bileşeni almak için ek adım gerekmez.

  • vcperf.exe , sisteminizde çalışan tüm MSVC araçları hakkında bilgi toplar. Sonuç olarak, derlemenizi izlemeyi toplamak için kullandığınız komut isteminden başlatmanız gerekmez. Projenizi farklı bir komut isteminden, hatta Visual Studio'dan oluşturabilirsiniz.

vcperf.exe açık kaynaktır

Kendi vcperf.exe sürümünüzü derlemek ve çalıştırmak istiyorsanız, vcperf GitHub deposundan kopyalamaktan çekinmeyin.

3. Adım: windows Performans Analizi izlemenizi görüntüleme

WPA'yi başlatın ve az önce topladığınız izlemeyi açın. WPA bunu C++ Derleme Analizler izlemesi olarak tanımalı ve soldaki Grafik Gezgini panelinde aşağıdaki görünümler görünmelidir:

  • Derleme Gezgini
  • Files
  • İşlevler
  • Şablon Örneklemeleri

Bu görünümleri göremiyorsanız, 1. Adımda açıklandığı gibi WPA'nın doğru yapılandırılıp yapılandırılmadığını bir kez daha denetleyin. Görünümlerinizi burada gösterildiği gibi sağdaki boş Çözümleme penceresine sürükleyerek derleme verilerinizi görüntüleyebilirsiniz:

View of a C++ Build Insights trace in Windows Performance Analyzer.

Diğer görünümler Graf Gezgini panelinde bulunur. İçerdikleri bilgilerle ilgilendiğinizde bunları Analiz penceresine sürükleyin. Kullanışlı olan, derlemenizin tamamında CPU kullanımını gösteren CPU (Örneklenmiş) görünümüdür.

Daha fazla bilgi

Öğretici: Windows Performans Analizi temel bilgileri
Derleme izlemelerinizi analiz etme konusunda yardımcı olabilecek yaygın WPA işlemleri hakkında bilgi edinin.

Başvuru: vcperf komutları
vcperf.exe komut başvurusu tüm kullanılabilir komut seçeneklerini listeler.

Başvuru: Windows Performans Analizi görünümleri
WPA'daki C++ Derleme Analizler görünümleri hakkında ayrıntılı bilgi için bu makaleye bakın.

Windows Performans Analizi
Resmi WPA belge sitesi.