Programa para la mejora de la experiencia del usuario de Visual Studio
El Programa para la mejora de la experiencia del usuario de Visual Studio (VSCEIP) está diseñado para ayudar a Microsoft a mejorar Visual Studio con el tiempo. Este programa recopila información sobre errores, hardware del equipo y el uso que se hace de Visual Studio, sin interrumpir a los usuarios en sus tareas en el equipo. La información recopilada ayuda a Microsoft a identificar qué características se deben mejorar. En este documento se explica cómo participar o no en VSCEIP y se proporciona información sobre los tipos de datos que recopilamos y cómo los usamos. También proporciona sugerencias sobre cómo los creadores de extensiones pueden evitar la divulgación involuntaria de información personal o confidencial.
No participar en la recopilación de datos de diagnósticos
Dada la finalidad de los datos que recopilamos y las restricciones en cuanto a acceso y retención, se recomienda usar la configuración de privacidad predeterminada de Visual Studio y Windows. No obstante, puede dejar de participar en el Programa para la mejora de la experiencia de Visual Studio. Cuando se deja de participar, no se puede optar a la recopilación de datos de diagnóstico opcional. Para que Visual Studio sea seguro, esté actualizado y funcione según lo esperado, es necesario recopilar algunos datos de diagnóstico. La recopilación de datos de diagnóstico necesaria no se verá afectada por su decisión de no participar en VSCEIP.
Nota
Si le interesa ver o eliminar datos personales, revise las instrucciones de Microsoft de Solicitudes del titular de los datos de Windows para el RGPD. Si busca información general sobre el RGPD, vea la sección correspondiente en el Portal de confianza de servicios.
Nota:
La configuración de inclusión o exclusión de la telemetría de VSCEIP no se aplica a "Notificar un problema" en Visual Studio. Cuando se notifica un problema, se recopilan registros y se envían a Microsoft solo cuando se proporciona el permiso al hacer clic en "Enviar". Si está interesado en administrar registros antes de enviarlos a "Notificar un problema", consulte Privacidad de los datos de comentarios para más información.
Participar o no en el programa
VSCEIP está activado de forma predeterminada. Para desactivarlo o volver a activarlo, siga estas instrucciones:
En Visual Studio, elija Ayuda>Privacidad>Configuración de privacidad.
Se abre el cuadro de diálogo Programa para la mejora de la experiencia de Visual Studio.
Para dejar de participar, seleccione No, prefiero no participar y Aceptar. Para participar, seleccione Sí, deseo participar (Recomendado) y, después, Aceptar.
Parámetros del Registro
Si instala Build Tools para Visual Studio, debe actualizar el Registro para configurar el VSCEIP. Los clientes de empresa pueden crear una directiva de grupo para utilizar o no utilizar el VSCEIP configurando una directiva basada en el Registro.
La clave del Registro y la configuración necesarias son:
- En un sistema operativo de 64 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
- En un sistema operativo de 32 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
- Cuando la directiva de grupo está habilitada, Key = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
- En un sistema operativo de 64 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
- En un sistema operativo de 32 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
- Cuando la directiva de grupo está habilitada, Key = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
Entry = OptIn
Valor = (DWORD)
- 0 es no participar (desactivar el VSCEIP)
- 1 es participar (activar el VSCEIP)
Precaución
La edición incorrecta del Registro puede dañar gravemente el sistema. Antes de realizar cambios en el Registro, debe hacer una copia de seguridad de los datos de valor guardados en el equipo. También puede utilizar la opción de inicio La última configuración válida conocida si detecta problemas una vez aplicados los cambios manuales.
Para obtener más información sobre los datos que recopila, procesa o transmite el VSCEIP, consulte la Declaración de privacidad de Microsoft.
Registros generados por el sistema recopilados por Visual Studio
Visual Studio recopila registros generados por el sistema para solucionar problemas y mejorar la calidad del producto. Esta es una información sobre los tipos de datos que recopilamos y cómo los usamos. También proporciona sugerencias sobre cómo los creadores de extensiones pueden evitar la divulgación involuntaria de información personal o confidencial.
Tipos de datos recopilados
Visual Studio recopila registros generados por el sistema en relación con bloqueos, falta de respuesta de la interfaz de usuario y uso elevado de la CPU o la memoria. También recopilamos información sobre los errores producidos durante la instalación del producto o su uso. Los datos recopilados varían en función del error y pueden incluir información de excepciones, seguimientos de la pila y volcados de memoria:
Para los casos de falta de respuesta y uso elevado de la CPU, se recopilan seguimientos de pila de los subprocesos de Visual Studio pertinentes.
En los casos donde los seguimientos de la pila de algunos subprocesos no son suficientes para determinar la causa del problema (por ejemplo, bloqueos, falta de respuesta o uso de memoria elevado), recopilamos un volcado de memoria. El volcado de memoria representa el estado del proceso en el momento en que se produjo el error.
En errores inesperados (por ejemplo, una excepción al intentar escribir en un archivo en disco), Microsoft recopila información sobre la excepción. La información incluye el nombre de la excepción, el seguimiento de pila del subproceso donde se produjo la excepción, el mensaje asociado a la excepción y otra información de utilidad relativa a la excepción.
El siguiente ejemplo de datos recopilados muestra el nombre de una excepción, el seguimiento de la pila y el mensaje de la excepción:
"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."
Cómo utilizamos los registros generados por el sistema
El flujo de trabajo que determina la causa del error varía en función del tipo de error y su gravedad.
Clasificación de errores
Basándose en los registros, los errores se clasifican y contabilizan para priorizar su investigación. Por ejemplo, podemos detectar que "System.IO._Error.WinIOError" en "System.IO.FileStream.Init" se ha producido 500 veces en la versión <x> del producto, y tiene la mayor tasa de incidencia en esa versión.
Elementos de trabajo para seguimiento
Los elementos de trabajo de errores individuales y clasificados por orden de prioridad se crean y asignan a los ingenieros para que sean investigados. Por lo general, estos elementos de trabajo contienen la clasificación, la prioridad y la información de diagnóstico relacionada con el tipo de error. Esta información se deriva de los registros generados por el sistema que se recopilan para el error. Por ejemplo, un elemento de trabajo asociado a un bloqueo podría contener el seguimiento de la pila donde se está produciendo el bloqueo.
Investigación de errores
Los ingenieros utilizan la información disponible en un elemento de trabajo para determinar la causa principal de un error. En algunos casos, necesitan más información de la que incluye el elemento de trabajo, en cuyo caso consultan el registro original generado por el sistema. Por ejemplo, un ingeniero podría necesitar inspeccionar un volcado de la memoria para determinar por qué se ha producido un bloqueo en el producto.
Sugerencias para los creadores de extensiones
Para limitar la exposición de información personal, los creadores de extensiones no deben usar información personal u otra información confidencial en los nombres de sus módulos, tipos y métodos. Si un bloqueo u otro error similar se produce con ese código en la pila, esa información se recopila como parte de los registros generados por el sistema.