Programm zur Verbesserung der Benutzerfreundlichkeit von Visual Studio

Das Programm zur Verbesserung der Benutzerfreundlichkeit von Visual Studio (VSCEIP) wurde dafür entwickelt, Microsoft bei der kontinuierlichen Verbesserung von Visual Studio zu unterstützen. Dieses Programm sammelt Informationen zu Fehlern, Computerhardware und der Verwendung von Visual Studio durch die Benutzer, ohne diese bei ihren Aufgaben am Computer zu unterbrechen. Durch die gesammelten Informationen kann Microsoft einfacher ermitteln, welche Features verbessert werden müssen. In diesem Dokument erfahren Sie, wie Sie sich für oder gegen die Teilnahme am VSCEIP entscheiden können, und erhalten Informationen über die Art der von uns gesammelten Daten und deren Verwendung. Außerdem enthält er Tipps dazu, wie Erweiterungsersteller die unbeabsichtigte Offenlegung von personenbezogenen und vertraulichen Informationen vermeiden können.

Entscheiden gegen die Diagnosedatensammlung

Aufgrund des Zwecks der gesammelten Daten und deren Einschränkungen des Zugriffs und der Aufbewahrung, wird empfohlen, dass Sie die Standardeinstellungen für den Datenschutz für Visual Studio und Windows verwenden. Sie können das Programm zur Verbesserung der Benutzerfreundlichkeit von Visual Studio jedoch deaktivieren. Wenn Sie Ihr Abonnement kündigen, deaktivieren Sie die optionale Erfassung von Diagnosedaten. Es ist eine Sammlung von Diagnosedaten erforderlich, um sicherzustellen, dass Visual Studio sicher und aktuell ist und wie erwartet funktioniert. Die erforderliche Erfassung von Diagnosedaten wird von Ihrer Wahl nicht beeinträchtigt, um VSCEIP zu abonnieren.

Hinweis

Wenn Sie personenbezogene Daten anzeigen oder löschen möchten, sehen Sie sich zunächst die Richtlinien von Microsoft unter Windows-Datensubjektanforderungen für die DSGVO an. Allgemeine Informationen über die DSGVO finden Sie im DSGVO-Abschnitt im Service Trust Portal.

Hinweis

Einstellungen für das Aktivieren oder Deaktivieren von VSCEIP-Telemetrie gelten nicht für „Problem melden“ in Visual Studio. Beim Melden eines Problems werden nur dann Protokolle gesammelt und an Microsoft gesendet, wenn Sie durch Klicken auf „Übermitteln“ Ihre Genehmigung dafür erteilen. Wenn Sie Protokolle verwalten möchten, bevor Sie diese per „Problem melden“ übermitteln, finden Sie weitere Informationen unter Datenschutz in der Developer Community.

Aktivierung oder Deaktivierung

VSCEIP ist standardmäßig aktiviert. Sie können es deaktivieren oder erneut aktivieren, indem Sie folgende Anweisungen befolgen:

  1. Wählen Sie in Visual Studio Hilfe>Datenschutz>Datenschutzeinstellungen aus.

    Das Dialogfeld Programm zur Verbesserung der Benutzerfreundlichkeit von Visual Studio wird geöffnet.

  2. Wählen Sie zum Deaktivieren das Optionsfeld Nein, ich möchte nicht teilnehmen aus, und klicken Sie auf OK. Wählen Sie zum Aktivieren Ja, ich möchte teilnehmen (empfohlen) aus, und klicken Sie dann auf OK.

    Visual Studio Experience Improvement Program dialog

Registrierungseinstellungen

Wenn Sie die Buildtools für Visual Studio installieren, müssen Sie die Registrierung aktualisieren, um VSCEIP zu konfigurieren. Enterprise-Kunden können durch Festlegen einer registrierungsbasierten Richtlinie eine Gruppenrichtlinie erstellen, um VSCEIP zu aktivieren oder zu deaktivieren.

Der entsprechende Registrierungsschlüssel und die entsprechenden Einstellungen lauten wie folgt:

  • Schlüssel auf einem 64-Bit-Betriebssystem = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
  • Schlüssel auf einem 32-Bit-Betriebssystem = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
  • Schlüssel bei aktivierter Gruppenrichtlinie = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
  • Schlüssel auf einem 64-Bit-Betriebssystem = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • Schlüssel auf einem 32-Bit-Betriebssystem = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • Schlüssel bei aktivierter Gruppenrichtlinie = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Name = OptIn

Wert = (DWORD)

  • 0 = deaktiviert (VSCEIP deaktivieren)
  • 1 = aktiviert (VSCEIP aktivieren)

Achtung

Durch eine fehlerhafte Bearbeitung der Registrierung können schwerwiegende Schäden am System verursacht werden. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie alle wichtigen Computerdaten sichern. Sie können auch die Startoption Letzte als funktionierend bekannte Konfiguration verwenden, wenn nach dem Übernehmen manueller Änderungen Probleme auftreten.

Weitere Informationen zu den durch VSCEIP gesammelten, verarbeiteten oder übertragenen Informationen finden Sie in der Datenschutzerklärung von Microsoft.

Vom System generierte Protokolle, die von Visual Studio gesammelt werden

Visual Studio sammelt vom System generierte Protokolle, um Probleme zu beheben und die Qualität des Produkts zu verbessern. Hier finden Sie einige Informationen über die Arten von Daten, die wir sammeln und wie wir sie verwenden. Außerdem enthält er Tipps dazu, wie Erweiterungsersteller die unbeabsichtigte Offenlegung von personenbezogenen und vertraulichen Informationen vermeiden können.

Gesammelte Datentypen

Visual Studio sammelt vom System generierte Protokolle für Abstürze, nicht reagierende Benutzeroberflächen und hohe Auslastung der CPU oder des Arbeitsspeichers. Außerdem werden Informationen zu Fehlern gesammelt, die während der Installation oder Verwendung eines Produkts auftreten. Die gesammelten Daten variieren basierend auf dem Fehler und können Stapelüberwachungen, Speicherabbilder und Ausnahmeinformationen enthalten:

  • Bei hoher CPU-Auslastung und Nichtreaktion werden Stapelüberwachungen von relevanten Visual Studio-Threads gesammelt.

  • In Fällen, bei denen die Stapelüberwachungen mancher Threads nicht ausreichen, um die Ursache von Fehlern wie Abstürzen, nicht reagierenden Programmen oder hoher Arbeitsspeicherauslastung zu ermitteln, wird ein Speicherabbild gesammelt. Das Abbild stellt den Zustand des Prozesses zu dem Zeitpunkt dar, an dem der Fehler aufgetreten ist.

  • Bei unerwarteten Fehlerbedingungen, z.B. einer Ausnahme beim Schreiben in eine Datei auf dem Datenträger, werden Informationen über die Ausnahme gesammelt. Die Informationen enthalten den Namen der Ausnahme, die Stapelüberwachung des Threads, in dem die Ausnahme aufgetreten ist, die der Ausnahme zugeordnete Meldung und weitere Informationen, die für die spezifische Ausnahme relevant sind.

    Das folgende Beispiel für gesammelte Daten zeigt den Namen einer Ausnahme, eine Stapelüberwachung und eine Ausnahmemeldung:

    "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."
    

Wie vom System generierte Protokolle verwendet werden

Der Workflow zum Bestimmen der Fehlerursache variiert je nach Fehlertyp und Schweregrad.

Fehlerklassifizierung

Fehler werden anhand der Protokolle klassifiziert und gezählt, um deren Untersuchung zu priorisieren. Beispielsweise wird ermittelt, dass „System.IO.__Error.WinIOError“ in Version <x> des Produkts 500-mal in „System.IO.FileStream.Init“ aufgetreten ist und damit die höchste Häufigkeitsrate hat.

Arbeitselemente für die Nachverfolgung

Arbeitselemente für individuelle, priorisierte Fehler werden erstellt und Entwicklern zur Untersuchung zugewiesen. Diese Arbeitselemente enthalten in der Regel die Klassifizierung, Priorität und Diagnoseinformationen, die für den Fehlertyp relevant sind. Diese Informationen werden aus den gesammelten vom System generierten Protokollen zu dem Fehler abgeleitet. Ein Arbeitselement für einen Absturz kann z.B. die Stapelüberwachung enthalten, in der der Absturz auftritt.

Fehleruntersuchung

Entwickler verwenden die in einem Arbeitselement verfügbaren Informationen, um die Ursache des Fehlers zu ermitteln. In manchen Fällen benötigen sie mehr Informationen, als im Arbeitselement vorhanden ist. In diesem Fall beziehen sie sich auf das ursprüngliche vom System generierte Protokoll. Ein Entwickler kann beispielsweise ein Speicherabbild überprüfen, um den Absturz eines Produkts nachzuvollziehen.

Tipps für Erweiterungsersteller

Erweiterungsersteller sollten die Offenlegung personenbezogener Informationen einschränken, indem sie keine personenbezogenen oder anderweitig vertraulichen Informationen im Namen ihrer Module, Typen und Methoden verwenden. Wenn ein Absturz oder eine ähnliche Fehlerbedingung mit dem Code auf dem Stapel auftritt, werden diese Informationen als Teil der vom System generierten Protokolle gesammelt.