Eşzamanlılık görselleştiricisi komut satırı yardımcı programını (CVCollectionCmd)
Eşzamanlılık Görselleştiricisi komut satırı yardımcı programını (CVCollectionCmd.exe) toplamak ve Visual Studio olmayan makinelerdeki izlemeleri işlemek için kullanabilirsiniz.Visual Studio olan bir makinede toplanan izlemeleri açabilirsiniz, böylece Eşzamanlılık Görselleştiricisinde onları görüntüleyebilirsiniz.
Yardımcı Programı Yükleme ve Dağıtma
Bir Visual Studio DVD'nden yüklemek için
DVD'de, "Eşzamanlılık Görselleştiricisi" adında bir üst düzey klasör bulun.
Bu klasörde, concvi_standalonecollection.exe'yi çalıştırın.
Bir Visual Studio Web Yükleme Dosyasından yüklemek için
Karşıdan yüklediğiniz yükleme dosyasını bulun.Dosya adı, yüklediğiniz Visual Studio sürümüne bağlıdır.
Bir Komut İstemi penceresi açın ve yükleme dosyasının bulunduğu dizini değiştirin.
Komutu <install file>/layout, install file karşıdan yüklediğiniz dosya adı olduğunda yürütün.Düzen komutu "Eşzamanlılık Görselleştiricisi" adlı bir klasör oluşturur.
"Eşzamanlılık Görselleştiricisi" klasöründe, concvi_standalonecollection.exe'yi çalıştırın.
Visual Studio yüklü olmayan bir bilgisayara dağıtmak için
Concvi_standalonecollection.exe'yi Visual Studio'ya sahip bir bilgisayarda bulun.(İki önceki yordamlara bakın.)
Concvi_standalonecollection.exe'yi Visual Studio yüklü olmayan bilgisayara kopyalayın.
Concvi_standalonecollection.exe'yi çalıştırın.
Komutlar ve Parametreler
Bu komutlar ve parametreler hakkında şunları kullanarak yardım alabilirsiniz:
CvCollectionCmd /?
Seçenek |
Tanımlama |
Parametreler |
Dönüş değerleri |
---|---|---|---|
Sorgu |
Koleksiyonun başlatılmış olup olmadığını döndürür. |
None |
Koleksiyon başlatmaya hazırsa 0. Koleksiyon zaten sürdürülüyor ise 1. Koleksiyon ilerlemiyor, ancak gerekli ETW oturumlarından bir veya daha fazlası zaten etkin ise, 2. |
Çalıştır |
Belirtilen işlemi Eşzamanlılık Görselleştiricisi altında çalıştırır. |
Yürütülebilir yolu. |
Yürütme başarılı ise 0. Çalışma hedef uygulama başlatılamadığı için başarısız oldu ise 1. CVCollectionCmd belirtilen çıkış dizinini yazmak için yeterli izinlere sahip olmadığından çalışma başarısız oldu ise 13. |
İliştir |
Sistem genelinde bir izlemeyi toplamaya başlar; aksi takdirde biri belirtilmişse, bir işlem iliştirir. |
Yok. |
Ek başarılı ise 0. Ek belirtilen işlem geçersiz veya belirsiz olduğundan başarısız olduysa 1. CVCollectionCmd belirtilen çıkış dizinini yazmak için yeterli izinlere sahip olmadığından ek başarısız oldu ise 13. |
Ayır |
Koleksiyonu durdurur. |
Yok. |
Ayırma başarılı ise 0. Koleksiyon şu anda sürmekte olmadığı için ayırma başarısız olursa 1. koleksiyon durdurulamaz olduğu için ayırma başarısız oldu ise 2. |
Analiz |
Belirtilen izlemeyi analiz eder. |
CVTrace dosyasının tam yolu. |
Analiz başarılı ise 0. Belirtilen izleme sistem genelinde, ancak hiçbir hedef işlem belirtilmediği için analiz başlayamıyor ise 1. İzleme sistem genelinde ve bir işlem belirtildiği için analiz başlayamıyor ise 2. Belirtilen işlem geçersiz olduğu için çözümleme başarısız oldu ise 3. Belirtilen CVTrace dosyası geçersiz olduğu için analiz başarısız oldu ise 4. |
Args'leri çalıştır |
Hedef yürütülebilir değişkenlerini belirtir.Bu seçenek yalnızca Başlatma komutunu uygular. |
Uygulama için komut satırı bağımsız değişkeni. |
Yok. |
Outdir |
İzleme dosyalarının kaydedileceği dizini belirtir.Başlatma ve İliştirme komutlarını uygular. |
Bir dizin yolu veya göreli bir yol. |
Yok. |
İşlem |
Ekle komutu ne zaman yürütüleceğini iliştirmek için işlemi veya işlem Analiz komutu çalıştırıldığında analiz etmek için bir izlemede işlemi belirtir.İliştir ve Analiz Et komutlarını uygular. |
İşlemin PID'ı veya adı. |
Yok. |
Yapılandır |
Ayarları varsayılanlardan farklı toplamak istiyorsanız, yapılandırma dosyasının yolunu belirtir.Çalıştır, İliştir ve Analiz Et komutlarını uygular. |
Dizin yolu veya XML yapılandırma dosyasının göreli bir yolu. |
Yok. |
Yapılandırma Ayarlarını Özelleştirme
İzlemeleri toplamak için CVCollectionCmd kullanıyor ve koleksiyon ayarları özelleştirmek istiyorsanız, yapılandırma dosyasını bunları belirtmek için kullanın.
[!NOT]
İzlemeleri toplamak için Visual Studio kullandığınızda, yapılandırma dosyasını doğrudan değiştirmeyin.Bunun yerine, Gelişmiş Ayarlar iletişim kutusunu ayarları değiştirmek için kullanın.
Koleksiyon ayarlarını değiştirmek için CVCollectionCmd yardımcı programını çalışacağı makinede bir yapılandırma dosyası oluşturun.Sıfırdan yapılandırma dosyası oluşturabilirsiniz veya Visual Studio yüklü olan bilgisayardaki yapılandırma dosyasını kopyalayıp, değiştirebilirsiniz.Bu UserConfig.xml adındaki dosya ve Yerel AppData klasöründe konumlanmıştır.Yardımcı programını çalıştırdığınızda, tanıtım, Ekle, İliştir veya Analiz Et komutu ile birlikte Yapılandır seçeneğini kullanın.Yapılandırma seçeneği ile ilişkili parametre yapılandırma dosyasının yolunu belirtir.
Yapılandırma Dosyası Etiketleri
Yapılandırma dosyası XML tabanlıdır.Geçerli etiketler ve değerler şunlardır:
Tag |
Tanımlama |
Değerler |
---|---|---|
Yapılandır |
Genel yapılandırma dosyasını ayırır. |
Bu öğeleri içermesi gerekir:
|
Ana Sürüm |
Yapılandırma dosyasının ana sürümünü belirtir. |
Bu Visual Studio 2012 projeleri için 1 olmalıdır.1 değil ise, yardımcı program çalışmaz. |
Küçük Sürüm. |
Yapılandırma dosyasının küçük sürümünü belirtir. |
Bu Visual Studio 2012 projeleri için 0 olmalıdır.0 değil ise, yardımcı program çalışmaz. |
Çevre Sembol Yolunu İçerir |
Ortam simge yolunu (_NT_SEMBOL_YOLU) kullanılıp kullanılmadığını belirleyen bir değer ayarlar. |
|
Analiz Sonrası Etl'lerini Sil |
Analiz tamamlandığında ETL dosyalarının silinmiş olup olmadığını belirleyen bir değer ayarlar. |
|
Simge Yolu |
Simge sunucusu yolunu belirtir.Daha fazla bilgi için, bkz: Hata ayıklama simge dosyaları elde etmek için Microsoft Sembol Sunucusu'nu kullanın. |
Dizin adı veya URL. |
İşaretleyiciler |
İşaretleyici sağlayıcılarının listesini içerir. |
Sıfır veya daha fazla İşaretleyici Sağlayıcıları öğeleri içerebilir. |
İşaretleyici Sağlayıcısı |
Tek bir işaretleyici sağlayıcısını belirtir. |
Bu öğeleri içermesi gerekir:
Bu öğeleri içerebilir:
|
Düzey |
Bir İşaretleyici Sağlayıcısının önem düzeyini ayarlar. |
|
Kılavuz |
ETW işaretleyici sağlayıcının genel benzersiz tanıtıcısı. |
Bir KILAVUZ. |
Ad |
İmleç sağlayıcının açıklamasını belirtir. |
Bir dize. |
Kategoriler |
İmleç sağlayıcı için toplanan kategorileri belirler. |
Sayı veya sayı aralıkları virgülle sınırlanmış dize. |
Etkinleştirilmiş |
İmleç sağlayıcı koleksiyonu için etkin olup olmadığını belirleyen bir değer ayarlar. |
|
Filtre Yapılandır |
Koleksiyonundan süzülmüş ETW olayları yapılandırma ayarları listesini belirtir. |
Bu öğeleri içerebilir:
|
Clr Olaylarını Topla |
CLR olaylarının toplanıp toplanmadığını belirleyen bir değer ayarlar. |
|
Clr Koleksiyon Ayarları |
Yerel uygulamalar için CLR olaylarının toplanıp toplanmadığını ve NGEN özeti olayları toplanıp toplanmadığını belirtir. |
Birini, ikisi veya bu değerlerden hiçbirini içerebilir:
|
Örnek Olayları Topla |
Örnek olayların toplanıp toplanmadığını belirleyen bir değer ayarlar. |
|
Gpu Olaylarını Topla |
DX tarafından üretilen olayların toplanıp toplanmadığını belirleyen bir değer ayarlar. |
|
Dosya IO'larını Topla |
Dosya I/O olaylarının toplanıp toplanmadığını belirleyen bir değer ayarlar. |
|
Kullanıcı Arabellek Ayarları. |
Kullanıcı arabelleği ayarları parametrelerinin listesini belirtir. |
Bu öğeleri içermesi gerekir:
|
Çekirdek Arabellek Ayarları |
Çekirdek arabelleği ayarları parametrelerinin listesini belirtir. |
Bu öğeleri içermesi gerekir:
|
Arabellek Taşması Zamanlayıcısı |
ETW arabelleklerinin taşma zamanlayıcısını belirtir. |
Pozitif bir tamsayı. |
Arabellek Boyutu |
Kilobayt cinsinden her olay izleme oturumu arabelleği için ayrılan bellek miktarı. |
0'dan 1024'e bir sayı. |
En Küçük Arabellekler |
Olay izleme oturumu arabellek havuzu için ayrılmış arabelleğin en küçük sayısı. |
Mantıksal çekirdek sayısının iki katına eşit veya büyük pozitif bir tamsayı. |
En Büyük Arabellekler |
Olay izleme oturumu arabellek havuzu için ayrılmış arabelleğin en büyük sayısı. |
En küçük arabelleklere eşit veya büyük bir sayı. |
Yalnızca Benim Kodum |
Sadece benim kodum dizinlerinin listesini belirtir. |
Sıfır veya daha fazla Benim Kodum Dizini öğelerin bir listesi. |
Benim Kodum Dizini |
Kodunuzu içeren bir dizini belirtir. |
Mutlak bir yol. |
Örnek
Baştan bir yapılandırma dosyası oluşturmak yerine, aşağıdaki örneği kopyalayıp gereksinimlerinizi karşılayacak şekilde değiştirebilirsiniz.
<?xml version="1.0"?>
<LocalConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" MajorVersion="1" MinorVersion="0">
<IncludeEnvSymbolPath>true</IncludeEnvSymbolPath>
<DeleteEtlsAfterAnalysis>true</DeleteEtlsAfterAnalysis>
<TraceLocation>C:\traces</TraceLocation>
<SymbolPath>http://symweb</SymbolPath>
<Markers>
<MarkerProvider Name="Default" Guid="8d4925ab-505a-483b-a7e0-6f824a07a6f0" Level="Low" />
<MarkerProvider Name="TPL" Guid="2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5" Level="Normal" />
<MarkerProvider Name="TPL Dataflow" Guid="16f53577-e41d-43d4-b47e-c17025bf4025" Level="Normal" />
<MarkerProvider Name="TPL Synchronization" Guid="ec631d38-466b-4290-9306-834971ba0217" Level="Normal" />
<MarkerProvider Name="PLINQ" Guid="159eeeec-4a14-4418-a8fe-faabcd987887" Level="Normal" />
<MarkerProvider Name="Concurrency Runtime" Guid="f7b697a3-4db5-4d3b-be71-c4d284e6592f" Level="Normal" />
<MarkerProvider Name="Scenario Markers" Guid="fb9244c9-f23a-4966-8a9c-97a51f8c355b" Level="Low" />
<!-- The IsEnabled and Categories elements are optional -->
<MarkerProvider Name="myMarker1" Guid="d0dbb3a3-895c-4ce6-96d9-28f69d664dc3" Level="Critical" IsEnabled="false" Categories="0,1,3-5,8" />
<MarkerProvider Name="myMarker2" Guid="03452127-a617-4302-9e30-c0d10442e4ee" Level="Low" IsEnabled="false" Categories="0,1,3-5,8-10,11-13" />
</Markers>
<FilterConfig>
<CollectClrEvents>true</CollectClrEvents>
<ClrCollectionOptions>CollectForNative DisableNGenRundown</ClrCollectionOptions>
<CollectSampleEvents>true</CollectSampleEvents>
<CollectGpuEvents>true</CollectGpuEvents>
<CollectFileIO>true</CollectFileIO>
</FilterConfig>
<UserBufferSettings>
<BufferFlushTimer>0</BufferFlushTimer>
<BufferSize>256</BufferSize>
<MinimumBuffers>512</MinimumBuffers>
<MaximumBuffers>1024</MaximumBuffers>
</UserBufferSettings>
<KernelBufferSettings>
<BufferFlushTimer>0</BufferFlushTimer>
<BufferSize>256</BufferSize>
<MinimumBuffers>512</MinimumBuffers>
<MaximumBuffers>1024</MaximumBuffers>
</KernelBufferSettings>
<!-- List of MyCodeDirectory directories -->
<JustMyCode>
<MyCodeDirectory>C:\myBinaries1</MyCodeDirectory>
<MyCodeDirectory>C:\myBinaries2</MyCodeDirectory>
</JustMyCode>
</LocalConfig>