Program poprawy jakości obsługi klienta systemu Visual Studio

Program poprawy jakości obsługi klienta programu Visual Studio (VSCEIP) został zaprojektowany w celu ułatwienia firmie Microsoft ulepszania programu Visual Studio w czasie. Ten program zbiera informacje o błędach, sprzęcie komputerowym i sposobach korzystania z programu Visual Studio bez przerywania pracy użytkowników w ich zadaniach na komputerze. Zebrane informacje pomagają firmie Microsoft zidentyfikować funkcje, które należy ulepszyć. W tym dokumencie opisano, jak wyrazić zgodę na korzystanie z usługi VSCEIP lub z niej korzystać, oraz przedstawiono niektóre informacje o typach zbieranych danych i sposobie ich używania. Zawiera również wskazówki dotyczące sposobu, w jaki autorzy rozszerzeń mogą uniknąć nieumyślnego ujawnienia informacji osobistych lub poufnych.

Rezygnacja z zbierania danych diagnostycznych

Biorąc pod uwagę przeznaczenie zbieranych danych oraz ograniczenia dotyczące ich dostępu i przechowywania, zalecamy używanie domyślnych ustawień prywatności dla programu Visual Studio i systemu Windows. Można jednak zrezygnować z programu poprawy jakości środowiska programu Visual Studio. W przypadku rezygnacji użytkownik rezygnuje z opcjonalnego zbierania danych diagnostycznych. Niektóre zbieranie danych diagnostycznych jest wymagane , aby upewnić się, że program Visual Studio jest bezpieczny, aktualny i działa zgodnie z oczekiwaniami. Wybór wymaganego zbierania danych diagnostycznych nie będzie mieć wpływu na rezygnację z programu VSCEIP.

Uwaga

Jeśli interesuje Cię wyświetlanie lub usuwanie danych osobowych, zapoznaj się ze wskazówkami firmy Microsoft w temacie Żądania podmiotów danych systemu Windows dotyczące RODO. Jeśli szukasz ogólnych informacji na temat RODO, zobacz sekcję RODO w portalu zaufania usług.

Uwaga

Telemetria VSCEIP nie ma zastosowania do ustawienia "Zgłoś problem" w programie Visual Studio. W przypadku zgłaszania dzienników problemów są zbierane i wysyłane do firmy Microsoft tylko wtedy, gdy podajesz uprawnienia, klikając pozycję "Prześlij". Jeśli interesuje Cię zarządzanie dziennikami przed przesłaniem do sekcji "Zgłoś problem", zobacz Prywatność danych opinii, aby uzyskać więcej informacji.

Wyradź lub wyrań zgodę

Program VSCEIP jest domyślnie włączony. Możesz wyłączyć go lub ponownie włączyć, wykonując następujące instrukcje:

  1. W programie Visual Studio wybierz pozycję Pomoc>w ochronie prywatności>Ustawienia.

    Zostanie otwarte okno dialogowe Program poprawy jakości obsługi programu Visual Studio.

  2. Aby zrezygnować, wybierz pozycję Nie, nie chcę uczestniczyć, a następnie wybierz przycisk OK. Aby wyrazić zgodę, wybierz pozycję Tak, chcę uczestniczyć (zalecane),a następnie wybierz przycisk OK.

    Visual Studio Experience Improvement Program dialog

Ustawienia rejestru

Jeśli zainstalujesz narzędzia Build Tools for Visual Studio, musisz zaktualizować rejestr, aby skonfigurować program VSCEIP. Klienci korporacyjni mogą utworzyć zasady grupy, aby zrezygnować z programu VSCEIP lub zrezygnować z tej usługi, ustawiając zasady oparte na rejestrze.

Odpowiedni klucz rejestru i ustawienia są następujące:

  • W 64-bitowym systemie operacyjnym Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
  • W 32-bitowym systemie operacyjnym klucz = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
  • Po włączeniu zasad grupy klucz = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
  • W 64-bitowym systemie operacyjnym Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • W 32-bitowym systemie operacyjnym klucz = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • Po włączeniu zasad grupy klucz = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Entry = OptIn

Wartość = (DWORD)

  • Wartość 0 jest wyłączona (wyłącz usługę VSCEIP)
  • Wartość 1 jest włączona (włącz usługę VSCEIP)

Uwaga

Niewłaściwe modyfikacje rejestru mogą spowodować poważne uszkodzenie systemu. Przed wprowadzeniem zmian w rejestrze należy wykonać kopię zapasową wszelkich wartościowych danych przechowywanych na komputerze. Możesz również użyć opcji uruchamiania Ostatnia znana dobra konfiguracja, jeśli wystąpią problemy po zastosowaniu zmian ręcznych.

Aby uzyskać więcej informacji na temat informacji zebranych, przetworzonych lub przesyłanych przez program VSCEIP, zobacz Zasady zachowania poufności informacji firmy Microsoft.

Dzienniki generowane przez system zebrane przez program Visual Studio

Program Visual Studio zbiera dzienniki generowane przez system, aby rozwiązać problemy i poprawić jakość produktu. Poniżej przedstawiono kilka informacji o typach zbieranych danych i sposobach ich używania. Zawiera również wskazówki dotyczące sposobu, w jaki autorzy rozszerzeń mogą uniknąć nieumyślnego ujawnienia informacji osobistych lub poufnych.

Typy zebranych danych

Program Visual Studio zbiera dzienniki generowane przez system pod kątem awarii, braku odpowiedzi interfejsu użytkownika i wysokiego użycia procesora CPU lub pamięci. Zbieramy również informacje o błędach napotkanych podczas instalacji lub użycia produktu. Zebrane dane różnią się w zależności od błędu i mogą obejmować ślady stosu, zrzuty pamięci i informacje o wyjątkach:

  • W przypadku wysokiego użycia procesora CPU i braku odpowiedzi zbierane są ślady stosu odpowiednich wątków programu Visual Studio.

  • W przypadkach, gdy ślady stosu niektórych wątków nie są wystarczające, aby określić główną przyczynę problemu, na przykład awarie, brak odpowiedzi lub wysokie użycie pamięci, zbieramy zrzut pamięci. Zrzut reprezentuje stan procesu, gdy wystąpił błąd.

  • W przypadku nieoczekiwanych warunków błędu, na przykład wyjątek podczas próby zapisania pliku na dysku, zbieramy informacje o wyjątku. Informacje obejmują nazwę wyjątku, ślad stosu wątku, w którym wystąpił wyjątek, komunikat skojarzony z wyjątkiem i inne informacje istotne dla określonego wyjątku.

    Poniższy przykład zebranych danych przedstawia nazwę wyjątku, ślad stosu i komunikat wyjątku:

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

Jak używamy dzienników generowanych przez system

Przepływ pracy określający główną przyczynę błędu różni się w zależności od typu błędu i jego ważności.

Klasyfikacja błędów

Na podstawie dzienników błędy są klasyfikowane i liczone do określania priorytetów ich badania. Na przykład możemy wykryć, że błąd "System.IO.__Error.WinIOError" w pliku "System.IO.FileStream.Init" wystąpił 500 razy w wersji <x> produktu i ma najwyższą liczbę wystąpień w tej wersji.

Elementy robocze do śledzenia

Elementy robocze dla pojedynczych, priorytetowych błędów są tworzone i przypisywane do inżynierów w celu zbadania. Te elementy robocze zwykle zawierają informacje klasyfikacji, priorytetu i diagnostyki dotyczące typu błędu. Te informacje pochodzą z zebranych dzienników generowanych przez system dla błędu. Na przykład element roboczy awarii może zawierać ślad stosu, w którym występuje awaria.

Badanie błędów

Inżynierowie używają informacji dostępnych w elemencie roboczym, aby określić główną przyczynę błędu. W niektórych przypadkach potrzebują więcej informacji niż to, co znajduje się w elemencie roboczym, w takim przypadku odwołują się do oryginalnego dziennika wygenerowanego przez system, który został zebrany. Na przykład inżynier może sprawdzić zrzut pamięci, aby zrozumieć awarię produktu.

Wskazówki dla autorów rozszerzeń

Autorzy rozszerzeń powinni ograniczyć ujawnienie danych osobowych, nie używając osobistych ani innych poufnych informacji w nazwach swoich modułów, typów i metod. Jeśli wystąpi awaria lub podobny warunek błędu z tym kodem na stosie, te informacje są zbierane w ramach dzienników generowanych przez system.