Introducción
La herramienta depurador de Mass ha mejorado considerablemente e incorpora muchas funciones nuevas, como: inspección en tiempo real de los datos de fragmentos de entidad, puntos de ruptura de acceso a fragmentos específicos de una entidad, integración con el depurador de jugabilidad y una inspección de procesadores mejorada.
Cómo usar el depurador de Mass
Para ejecutar el depurador de Mass selecciona desde el editor Herramientas > Depurar > Depurador de Mass. Nota: Si has usado versiones anteriores del depurador de Mass, es posible que tengas que restablecer el diseño para ver las nuevas pestañas (en la ventana del depurador de Mass selecciona Ventana > Restablecer disposición).
Proceso de trabajo de la IU
Para ver los solapamientos de acceso a los datos del procesador:
Abre el depurador de Mass.
Usa Elegir entorno para seleccionar el entorno de tiempo de ejecución de Mass que quieres inspeccionar.
Abre la pestaña Procesadores (Ventana > Procesadores).
Busca el procesador que quieres inspeccionar en la lista.
Haz clic en el botón Mostrar acceso a fragmentos de la entrada del procesador.
Haz clic en un fragmento de la lista Consultar de la entrada de procesador expandida.
El color de los procesadores cambiará en función del acceso de cada uno. El verde indica acceso de lectura (constante) y el rojo indica acceso de escritura (mutable).
Para inspeccionar fragmentos de datos en una entidad desde el depurador de Mass con un entorno activo seleccionado:
Abre la pestaña Entidades (Ventana > Entidades o utiliza cualquiera de los botones contextuales de mostrar Entidades de la IU del depurador).
Haz clic en el menú desplegable Select Fragments y marca los fragmentos que quieras inspeccionar.
Nota: La lista de fragmentos depende de la composición de las entidades de la lista.
Nota: Solo se mostrarán las variables miembro de los structs de fragmento seleccionados que estén marcados como UPROPERTY. No se necesita ningún otro metadato de visibilidad del editor.
Para establecer un punto de ruptura de escritura de fragmento para un fragmento específico en una entidad específica:
Muestra los datos del fragmento de la entidad deseada en la pestaña Entidades.
Haz clic en el botón Establecer punto de ruptura de escritura.
Nota: El punto de ruptura se activará en el código de EntityIterator dentro de MassExecutionContext::EntityIterator. Solo el código que utilice ese iterador o envoltorios para ese iterador activará los puntos de ruptura de esta manera. El código que activa el punto de ruptura normalmente estará dos o tres niveles más arriba en la pila de llamadas.
Para borrar el punto de ruptura desde el IDE y reanudar la ejecución, usa la función de observación de tu IDE y establece la variable bDisableThisBreakpoint en “true” o “1”.
Para establecer un punto de ruptura de escritura de fragmento para que un fragmento dado se active para cualquier entidad seleccionada:
Abre la pestaña de fragmentos.
Busca el fragmento que quieras.
Haz clic en el botón de Establecer punto de ruptura de escritura para la entidad seleccionada..
Utiliza la pestaña Entidades en la herramienta de depurador de jugabilidad (comando de consola EnableGDT) para seleccionar una entidad.
Limitaciones
La función de los puntos de ruptura solo se ha probado en Visual Studio 2022 y es posible que no sea compatible con otros IDE.
Los puntos de ruptura solo se activan para el código que usa MassExecutionContext::CreateEntityIterator para la iteración de la entidad.
La inspección de fragmentos requiere RTTI de UPROPERTY y, por tanto, solo mostrará variables miembro marcadas con UPROPERTY.