Cuando un documento de Word tarda varios segundos en abrirse, solucionar el problema puede ser difícil porque Word no muestra lo que sucede internamente. Puede usar los diagnósticos de Seguimiento de eventos para Windows de Visual Studio para capturar una línea de tiempo de cada operación que realiza Word durante la carga del documento. Este artículo explica cómo configurar una sesión de perfilado ETW en Visual Studio, adjuntarla a Word e interpretar los datos de seguimiento para identificar el cuello de botella. Al final, podrá determinar qué complemento, característica o recurso está causando la carga lenta.
Puntos clave: Perfilar la carga de documentos de Word con ETW en Visual Studio
- Perfilador de rendimiento de Visual Studio > Proveedor ETW > Microsoft-Windows-Word-Application: Captura un seguimiento detallado de eventos del inicio de Word y la carga de documentos.
- Diagnostics Hub en Visual Studio 2022: La herramienta para iniciar, detener y guardar una sesión de perfilado sin modificar Word.
- Uso de CPU + Línea de tiempo de eventos: Las dos vistas principales que se usan para correlacionar operaciones lentas con eventos específicos de Word, como AddInLoad o DocumentOpen.
Cómo funcionan los diagnósticos ETW con Word
El Seguimiento de eventos para Windows es un sistema de registro a nivel de kernel integrado en Windows. Visual Studio puede consumir eventos ETW de cualquier aplicación que registre proveedores de eventos. Word registra el proveedor Microsoft-Windows-Word-Application durante su inicio. Cuando habilita este proveedor en el Perfilador de rendimiento de Visual Studio, cada operación significativa que realiza Word —como cargar complementos, analizar XML de documentos, representar páginas u obtener contenido vinculado— se registra como un evento con una marca de tiempo y una duración.
Antes de comenzar, asegúrese de tener Visual Studio 2022 o posterior instalado en la misma máquina donde se ejecuta Word. No necesita el código fuente ni los símbolos de Word. La sesión de perfilado funciona con cualquier versión comercial de Word para Microsoft 365 o Word 2021. También necesita derechos de administrador en la máquina para iniciar una sesión ETW.
Pasos para perfilar la carga de documentos de Word
- Cierre todas las instancias de Word
Asegúrese de que no haya ningún proceso de Word en ejecución. Abra el Administrador de tareas y finalice cualquier proceso WINWORD.EXE para garantizar una línea base limpia. - Abra Visual Studio e inicie el Perfilador de rendimiento
En Visual Studio, vaya a Depurar > Perfilador de rendimiento o presione Alt+F2. Se abre Diagnostics Hub. - Seleccione el proveedor ETW para Word
En la ventana Perfilador de rendimiento, haga clic en Cambiar destino y elija Aplicación de inicio. Vaya al ejecutable de Word (normalmente C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE). Luego haga clic en Anular la selección de todo y habilite solo Uso de CPU y Proveedor ETW. Haga clic en el icono de engranaje junto a Proveedor ETW, agregue Microsoft-Windows-Word-Application y establezca el nivel de seguimiento en Detallado. - Configure el documento que se va a cargar
Aún en la configuración del Proveedor ETW, en Argumentos de la línea de comandos, escriba la ruta completa al documento lento entre comillas. Por ejemplo: “C:\Users\YourName\Documents\SlowReport.docx”. Esto obliga a Word a cargar ese archivo inmediatamente después del inicio. - Inicie la sesión de perfilado
Haga clic en Iniciar. Visual Studio inicia Word, que luego abre el documento especificado. Espere hasta que el documento se cargue y se represente por completo. No interactúe con Word hasta que finalice la carga. - Detenga la sesión de perfilado
Después de que el documento esté abierto, vuelva a Visual Studio y haga clic en Detener recopilación. La sesión de diagnóstico se cierra y se guarda automáticamente un archivo .diagsession. - Analice la línea de tiempo y los eventos
En Diagnostics Hub, la pestaña Uso de CPU muestra una línea de tiempo de la actividad de la CPU. Cambie a la pestaña Eventos. Verá una lista de eventos ETW de Word. Busque eventos con el nombre de tarea DocumentOpen, AddInLoad, FileRead o Rendering. Ordene por Duración de forma descendente para encontrar la operación más lenta. - Identifique el cuello de botella
Haga doble clic en un evento de larga duración. El panel de detalles muestra la carga útil del evento, incluido el nombre del complemento o la ruta de archivo involucrada. Por ejemplo, un evento AddInLoad con una duración de 8000 ms indica un complemento COM lento. Un evento FileRead con un tamaño de E/S grande apunta a una imagen incrustada grande o a un objeto OLE.
Problemas comunes al perfilar Word con ETW
No aparecen eventos de Word en la pestaña Eventos
Si la pestaña Eventos está vacía, el proveedor ETW no se habilitó correctamente. Vuelva a la configuración del Proveedor ETW y verifique que Microsoft-Windows-Word-Application esté en la lista y que el nivel de seguimiento sea Detallado. También confirme que inició Word desde el Perfilador de rendimiento, no manualmente. Si inició Word manualmente, el proveedor ETW no se adjuntará.
La sesión de perfilado no se inicia
Esto suele ocurrir cuando ya hay otra sesión ETW en ejecución. Abra un símbolo del sistema como administrador y ejecute logman stop -ets para detener todas las sesiones ETW activas. Luego vuelva a intentar la sesión de perfilado en Visual Studio.
El documento se abre demasiado rápido para capturarlo
Si el documento se carga en menos de dos segundos, los eventos ETW pueden ser demasiado cortos para aparecer en la vista predeterminada. En la pestaña Eventos, haga clic en el botón Filtrar y establezca la duración mínima en 0 ms. Luego ordene por marca de tiempo para ver todos los eventos. Como alternativa, cargue un documento mucho más grande con muchas páginas, imágenes o cambios controlados para generar eventos más largos.
Perfilado ETW de Visual Studio frente a las herramientas de diagnóstico integradas de Word
| Elemento | Perfilado ETW de Visual Studio | Modo seguro de Word / Visor de eventos |
|---|---|---|
| Granularidad | Detalle a nivel de evento con marcas de tiempo de sub-milisegundos | Solo códigos de error de alto nivel o eventos lentos genéricos |
| Identificación de complementos | Muestra el nombre exacto del complemento y la duración de la carga | Requiere deshabilitarlos manualmente uno por uno |
| Sobrecarga de rendimiento | Mínima (menos del 5 % de impacto en la CPU) | Sin sobrecarga, pero sin datos de línea de tiempo |
| Complejidad de configuración | Requiere Visual Studio y derechos de administrador | No se necesitan herramientas adicionales |
| Ideal para | Análisis profundo de carga lenta de documentos, conflictos de complementos o retrasos de representación | Verificación rápida de plantillas dañadas o problemas básicos de inicio |
El perfilado ETW de Visual Studio le proporciona la secuencia exacta y la duración de cada operación durante la carga del documento. El modo seguro de Word o el Visor de eventos solo informan que algo salió mal, no qué lo causó. Use ETW cuando necesite demostrar qué componente es lento.
Ahora puede perfilar cualquier problema de carga de documentos de Word con los diagnósticos ETW de Visual Studio. La línea de tiempo de eventos muestra exactamente qué complemento, lectura de archivo u operación de representación tarda más. Después de identificar el cuello de botella, deshabilite el complemento problemático o reduzca el tamaño del documento. Para perfilar repetidamente, guarde el archivo .diagsession y compare los seguimientos entre un documento rápido y uno lento para aislar la diferencia. Para ampliar esta técnica, habilite el proveedor Microsoft-Windows-Word-Application en una máquina remota usando el Depurador remoto de Visual Studio para perfilar Word en el equipo de un usuario sin instalar Visual Studio localmente.