Dela via


Visual Studio Program för Förbättring av Kundupplevelse

Visual Studio Customer Experience Improvement Program (VSCEIP) är utformat för att hjälpa Microsoft att förbättra Visual Studio över tid. Det här programmet samlar in information om fel, datormaskinvara och hur personer använder Visual Studio, utan att störa användarna i sina uppgifter på datorn. Den information som samlas in hjälper Microsoft att identifiera vilka funktioner som ska förbättras. Det här dokumentet beskriver hur du anmäler dig till eller från VSCEIP och innehåller viss information om vilka typer av data vi samlar in och hur vi använder dem. Det ger också tips om hur tilläggsförfattare kan undvika oavsiktligt avslöjande av personlig eller känslig information.

Avregistrera dig från insamling av diagnostikdata

Med tanke på syftet med de data vi samlar in och begränsningarna för dess åtkomst och kvarhållning rekommenderar vi att du använder standardinställningarna för sekretess för Visual Studio och Windows. Du kan välja bort från Visual Studio Experience Improvement Programmet dock. När du avregistrerar dig väljer du bort valfri insamling av diagnostikdata. Viss insamling av diagnostikdata krävs för att se till att Visual Studio är säkert, uppdaterat och fungerar som förväntat. Nödvändig insamling av diagnostikdata påverkas inte av ditt val att välja bort VSCEIP.

Anmärkning

Om du är intresserad av att visa eller ta bort personliga data kan du läsa Microsofts vägledning i Windows Data Subject Requests for the GDPR (Windows Data Subject Requests for the GDPR). Om du letar efter allmän information om GDPR kan du läsa avsnittet GDPR i Service Trust Portal.

Anmärkning

VSCEIP-telemetrianmälningsinställningar gäller inte för "Rapportera ett problem" i Visual Studio. När du rapporterar ett problem samlas loggar in och skickas till Microsoft endast när du ger tillåtelse genom att klicka på "Skicka". Om du är intresserad av att hantera loggar innan du skickar in till 'Rapportera ett problem', vänligen se datasekretess för feedback för mer information.

Välj att delta eller avstå

VSCEIP är aktiverat som standard. Du kan inaktivera eller aktivera den igen genom att följa dessa instruktioner:

  1. I Visual Studio väljer du Hjälp>Sekretess>Sekretessinställningar.

    Dialogrutan Visual Studio Experience Improvement Program öppnas.

  2. Om du vill välja bort väljer du Nej, jag vill inte delta och väljer sedan OK. Om du vill anmäla dig väljer du Ja, jag är villig att delta (rekommenderas) och väljer sedan OK.

    Dialogrutan för Visual Studio Program för förbättring av användarupplevelsen

Registerinställningar

Om du installerar Build Tools för Visual Studio måste du uppdatera registret för att konfigurera VSCEIP. Företagskunder kan skapa en grupprincip för att välja in eller ut ur VSCEIP genom att ange en registerbaserad princip.

Den relevanta registernyckeln och inställningarna är följande:

  • I ett 64-bitars operativsystem, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
  • På ett 32-bitars operativsystem, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
  • När gruppolicy är aktiverad, nyckel = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
  • I ett 64-bitars operativsystem, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • På ett 32-bitars operativsystem, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • När gruppolicy är aktiverad, nyckel = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Entry = OptIn

Värde = (DWORD)

  • 0 har valts bort (inaktivera VSCEIP)
  • 1 har valts (aktivera VSCEIP)

Försiktighet

Om registret redigeras felaktigt kan systemet skadas allvarligt. Innan du gör ändringar i registret bör du säkerhetskopiera alla värdefulla data på datorn. Du kan också använda startalternativet Senast fungerande konfiguration om du stöter på problem när manuella ändringar har tillämpats.

Mer information om den information som samlas in, bearbetas eller överförs av VSCEIP finns i Microsofts sekretesspolicy.

Systemgenererade loggar som samlas in av Visual Studio

Visual Studio samlar in systemgenererade loggar för att åtgärda problem och förbättra produktens kvalitet. Här är lite information om vilka typer av data vi samlar in och hur vi använder dem. Det ger också tips om hur tilläggsförfattare kan undvika oavsiktligt avslöjande av personlig eller känslig information.

Typer av insamlade data

Visual Studio samlar in systemgenererade loggar för krascher, användargränssnitt som inte svarar och hög processor- eller minnesanvändning. Vi samlar också in information om fel som uppstår vid produktinstallation eller användning. De insamlade data varierar beroende på felet och kan innehålla stackspårningar, minnesdumpar och undantagsinformation:

  • För hög CPU-användning och svarslöshet samlas stackspårningar av relevanta Visual Studio-trådar in.

  • För fall där stackspårningar av vissa trådar inte räcker för att fastställa rotorsaken till problemet, till exempel krascher, svarslöshet eller hög minnesanvändning, samlar vi in en minnesdump. Dumpen representerar tillståndet för processen när felet inträffade.

  • För oväntade felvillkor, till exempel ett undantag vid försök att skriva till en fil på disk, samlar vi in information om undantaget. Informationen innehåller namnet på undantaget, stackspårningen av tråden där undantaget inträffade, meddelandet som är associerat med undantaget och annan information som är relevant för det specifika undantaget.

    Följande exempel på insamlade data visar ett undantagsnamn, stackspårning och undantagsmeddelande:

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

Så här använder vi systemgenererade loggar

Arbetsflödet för att fastställa rotorsaken till ett fel varierar beroende på typen av fel och dess allvarlighetsgrad.

Klassificering av fel

Baserat på loggarna klassificeras och räknas fel för att prioritera undersökningen. Vi kan till exempel upptäcka att "System.IO.__Error.WinIOError" i "System.IO.FileStream.Init" har inträffat 500 gånger i version <x> av produkten och har den högsta förekomsten i den versionen.

Arbetsobjekt för spårning

Arbetsobjekt för enskilda, prioriterade fel skapas och tilldelas till tekniker för undersökning. Dessa arbetsobjekt innehåller vanligtvis klassificerings-, prioritets- och diagnostikinformation som är relevant för typen av fel. Den här informationen härleds från de insamlade systemgenererade loggarna för felet. Ett arbetsobjekt som har med en krasch att göra kan till exempel innehålla stackspåret där kraschen inträffar.

Felundersökning

Ingenjörer använder den information som är tillgänglig i en arbetsuppgift för att fastställa rotorsaken till ett fel. I vissa fall behöver de mer information än vad som finns i arbetsobjektet, i vilket fall de refererar till den ursprungliga systemgenererade loggen som samlades in. En tekniker kan till exempel inspektera en minnesdump för att förstå en produktkrasch.

Tips för tilläggsförfattare

Tilläggsförfattare bör begränsa exponeringen av personlig information genom att inte använda personlig eller annan känslig information i namnen på sina moduler, typer och metoder. Om ett krasch- eller liknande feltillstånd inträffar med koden i stacken samlas den informationen in som en del av de systemgenererade loggarna.