Visual Studio Müşteri Deneyimini Geliştirme Programı

Visual Studio Müşteri Deneyimini Geliştirme Programı (VSCEIP), Microsoft'un zaman içinde Visual Studio'yu geliştirmesine yardımcı olmak için tasarlanmıştır. Bu program , bilgisayardaki görevlerindeki kullanıcıları kesintiye uğratmadan hatalar, bilgisayar donanımı ve kişilerin Visual Studio'yu nasıl kullandığı hakkında bilgi toplar. Toplanan bilgiler Microsoft'un hangi özellikleri geliştireceklerini belirlemesine yardımcı olur. Bu belge, VSCEIP'yi kabul etme veya devre dışı bırakma konularını kapsar ve topladığımız veri türleri ve bunu nasıl kullandığımız hakkında bazı bilgiler sağlar. Ayrıca, uzantı yazarlarının kişisel veya hassas bilgilerin yanlışlıkla açıklanmasını nasıl önleyebileceğine ilişkin ipuçları da sağlar.

Tanılama verileri toplamayı geri çevirme

Topladığımız verilerin amacı ve erişim ve saklama kısıtlamaları göz önünde bulundurulduğunda, Visual Studio ve Windows için varsayılan gizlilik ayarlarını kullanmanızı öneririz. Ancak Visual Studio Deneyimi Geliştirme Programı'nı geri çevirebilirsiniz. Geri çevirdiğinizde isteğe bağlı tanılama verileri toplamayı geri çevirebilirsiniz. Visual Studio'nın güvenli, güncel ve beklendiği gibi performans göstermesini sağlamak için bazı tanılama verileri toplaması gerekir . Gerekli tanılama verileri toplama, VSCEIP'yi geri çevirme seçiminizden etkilenmez.

Not

Kişisel verileri görüntülemek veya silmek istiyorsanız lütfen Gdpr için Windows Veri Sahibi İstekleri bölümünde Microsoft'un kılavuzunu gözden geçirin. GDPR hakkında genel bilgi arıyorsanız Hizmet Güveni Portalı'nın GDPR bölümüne bakın.

Not

VSCEIP telemetrisi kabul etme veya kapatma ayarları Visual Studio'daki 'Sorun Bildir' için geçerli değildir. Bir sorun bildirdiğinizde günlükler toplanır ve Yalnızca 'Gönder' seçeneğine tıklayarak izin sağladığınızda Microsoft'a gönderilir. 'Sorun Bildir'e göndermeden önce günlükleri yönetmekle ilgileniyorsanız daha fazla ayrıntı için lütfen Geri Bildirim Veri Gizliliği'ne bakın.

Kabul etme veya devre dışı bırakma

VSCEIP varsayılan olarak açıktır. Bu yönergeleri izleyerek kapatabilir veya yeniden açabilirsiniz:

  1. Visual Studio'da Gizlilik gizliliği>Ayarlar yardım et'i>seçin.

    Visual Studio Deneyimi Geliştirme Programı iletişim kutusu açılır.

  2. Geri çevirmek için Hayır, katılmak istiyorum'ı ve ardından Tamam'ı seçin. Kabul etmek için Evet, katılmak istiyorum (Önerilen) seçeneğini belirleyin ve ardından Tamam'ı seçin.

    Visual Studio Experience Improvement Program dialog

Kayıt Defteri ayarları

Visual Studio için Derleme Araçları'nı yüklerseniz, VSCEIP'yi yapılandırmak için kayıt defterini güncelleştirmeniz gerekir. Kurumsal müşteriler, kayıt defteri tabanlı bir ilke ayarlayarak VSCEIP'yi kabul etmek veya devre dışı bırakabilmek için bir grup ilkesi oluşturabilir.

İlgili kayıt defteri anahtarı ve ayarları aşağıdaki gibidir:

  • 64 bit işletim sisteminde Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
  • 32 bit işletim sisteminde Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
  • Grup İlkesi etkinleştirildiğinde Key = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
  • 64 bit işletim sisteminde Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • 32 bit işletim sisteminde Anahtar = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • Grup İlkesi etkinleştirildiğinde Key = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Entry = OptIn

Değer = (DWORD)

  • 0 devre dışı bırakılıyor (VSCEIP'yi kapatın)
  • 1 kabul edildi (VSCEIP'yi açın)

Dikkat

Kayıt defterinin hatalı şekilde düzenlenmesi sisteminizde ciddi arızalara yol açabilir. Kayıt defterinde değişiklik yapmadan önce, bilgisayarınızdaki önemli verileri yedeklemelisiniz. El ile yapılan değişiklikler uygulandıktan sonra sorunlarla karşılaşırsanız Bilinen Son İyi Yapılandırma başlatma seçeneğini de kullanabilirsiniz.

VSCEIP tarafından toplanan, işlenen veya iletilen bilgiler hakkında daha fazla bilgi için bkz . Microsoft Gizlilik Bildirimi.

Visual Studio tarafından toplanan sistem tarafından oluşturulan günlükler

Visual Studio, sorunları gidermek ve ürünün kalitesini artırmak için sistem tarafından oluşturulan günlükleri toplar. Topladığımız veri türleri ve bunları nasıl kullandığımız hakkında bazı bilgiler aşağıdadır. Ayrıca, uzantı yazarlarının kişisel veya hassas bilgilerin yanlışlıkla açıklanmasını nasıl önleyebileceğine ilişkin ipuçları da sağlar.

Toplanan veri türleri

Visual Studio kilitlenmeler, kullanıcı arabirimi yanıt vermeme ve yüksek CPU veya bellek kullanımı için sistem tarafından oluşturulan günlükleri toplar. Ürün yüklemesi veya kullanımı sırasında karşılaşılan hatalar hakkında da bilgi toplarız. Toplanan veriler hataya göre değişir ve yığın izlemeleri, bellek dökümleri ve özel durum bilgilerini içerebilir:

  • Yüksek CPU kullanımı ve yanıt vermemeye yönelik olarak, ilgili Visual Studio iş parçacıklarının yığın izlemeleri toplanır.

  • Kilitlenmeler, yanıt vermeme veya yüksek bellek kullanımı gibi bazı iş parçacıklarının yığın izlemelerinin sorunun kök nedenini belirlemek için yeterli olmadığı durumlarda bir bellek dökümü toplarız. Döküm, hata oluştuğunda işlemin durumunu temsil eder.

  • Örneğin, disk üzerindeki bir dosyaya yazmaya çalışırken oluşan bir özel durum gibi beklenmeyen hata koşulları için özel durum hakkında bilgi toplarız. Bilgiler özel durumun adını, özel durumun oluştuğu iş parçacığının yığın izlemesini, özel durumla ilişkili iletiyi ve özel durumla ilgili diğer bilgileri içerir.

    Aşağıdaki toplanan veriler örneği bir özel durum adı, yığın izlemesi ve özel durum iletisi gösterir:

    "Reserved.DataModel.Fault.Exception.TypeString": "System.IO.IOException",
    "Reserved.DataModel.Fault.Exception.StackTrace": "System.IO.__Error.WinIOError(Int32,String)\r\n
    System.IO.FileStream.Init(String,FileMode,FileAccess,Int32,Boolean,FileShare,Int32,FileOptions,SECURITY_ATTRIBUTES,String,Boolean,Boolean,Boolean)\r\n
    System.IO.FileStream..ctor(String,FileMode,FileAccess,FileShare,Int32,FileOptions,String,Boolean,Boolean,Boolean)\r\nSystem.IO.StreamWriter.CreateFile(String,Boolean,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean,Encoding,Int32,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean)\r\n
    System.IO.File.CreateText(String)\r\n
    Microsoft.VisualStudio.Setup.Services.FileSystem.CreateText(String,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.WriteChannelManifest(IChannelManifest,String,String)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.CacheManager.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.ChannelManager.\<UpdateAsync>d__37.MoveNext()\r\n”,
    "Reserved.DataModel.Fault.Exception.Message": " The process cannot access the file 'C:\\Users\\[UserName]\\AppData\\Local\\Microsoft\\VisualStudio\\Packages\\_Channels\\4CB340F5\\channelManifest.json' because it is being used by another process."
    

Sistem tarafından oluşturulan günlükleri kullanma şeklimiz

Hatanın kök nedenini belirlemeye yönelik iş akışı, hatanın türüne ve önem derecesine bağlı olarak değişir.

Hata sınıflandırması

Günlüklere göre hatalar sınıflandırılır ve araştırmalarına öncelik vermek için sayılır. Örneğin, "System.IO.FileStream.Init" konumundaki "System.IO.__Error.WinIOError" öğesinin ürünün x> sürümünde <500 kez gerçekleştiğini ve bu sürümde en yüksek oluşum oranına sahip olduğunu tespit edebiliriz.

İzleme için iş öğeleri

Bireysel, öncelikli hatalar için iş öğeleri oluşturulur ve araştırma için mühendislere atanır. Bu iş öğeleri genellikle hata türüyle ilgili sınıflandırma, öncelik ve tanılama bilgilerini içerir. Bu bilgiler, hata için toplanan sistem tarafından oluşturulan günlüklerden türetilir. Örneğin, kilitlenmeye yönelik bir iş öğesi, kilitlenmenin oluştuğu yığın izlemesini içerebilir.

Hata araştırması

Mühendisler, bir hatanın kök nedenini belirlemek için bir iş öğesinde bulunan bilgileri kullanır. Bazı durumlarda, iş öğesinde bulunandan daha fazla bilgiye ihtiyaç duyarlar ve bu durumda toplanan sistem tarafından oluşturulan özgün günlüğe başvururlar. Örneğin, bir mühendis bir ürün kilitlenmesini anlamak için bellek dökümünü inceleyebilir.

Uzantı yazarları için İpuçları

Uzantı yazarları modüllerinin, türlerinin ve yöntemlerinin adlarında kişisel veya diğer hassas bilgileri kullanmayarak kişisel bilgilerin açığa çıkmasına sınırlamalıdır. Yığındaki bu kodla kilitlenme veya benzer bir hata koşulu oluşursa, bu bilgiler sistem tarafından oluşturulan günlüklerin bir parçası olarak toplanır.