Présentation
L'outil Débogueur de masse a été nettement amélioré avec de nombreuses nouvelles fonctionnalités, notamment : l'inspection en temps réel des données de fragments d'entité, les breakpoints d'accès aux fragments d'entités, l'intégration du Débogueur de jeu, et l'amélioration de l'inspection du processeur.
Utilisation du débogueur de masse
Pour lancer le débogueur de masse, sélectionnez Outils > Déboguer > Débogueur de masse dans l'éditeur. Remarque : si vous avez lancé des versions précédentes du débogueur de masse, vous devrez peut-être réinitialiser la disposition pour voir les nouveaux onglets (Fenêtre > Réinitialiser la disposition dans la fenêtre du débogueur de masse).
Flux de travail de l'interface
Pour voir les chevauchements d'accès aux données du processeur, procédez comme suit :
Ouvrez le débogueur de masse.
Utilisez le sélecteur d'environnement pour sélectionner l'environnement d'exécution de masse que vous souhaitez inspecter.
Ouvrez l'onglet Processeurs (Fenêtre > Processeurs).
Trouvez le processeur que vous souhaitez inspecter dans la liste.
Cliquez sur le bouton Afficher l'accès aux fragments à l'entrée du processeur.
Cliquez sur un fragment de la liste Requêtes sur l'entrée développée du processeur.
La couleur des processeurs change en fonction de l'accès à chaque processeur. Le vert indique l'accès en lecture (const) et le rouge indique l'accès en écriture (mutable).
Pour inspecter les données de fragment sur une entité à partir du débogueur de masse avec un environnement actif sélectionné, procédez comme suit :
Ouvrez l'onglet Entités (Fenêtre > Entités, ou utilisez l'un des boutons contextuels Afficher les entités de l'interface du débogueur).
Cliquez sur le menu déroulant Sélectionner fragments et cochez les fragments que vous souhaitez inspecter.
Remarque : la liste de fragments est contextuelle à la composition des entités répertoriées.
Remarque : seules les variables de membres des structures des fragments sélectionnées et marquées comme UPROPERTY seront affichées. Aucune autre métadonnées de visibilité d'éditeur n'est requise.
Pour définir un breakpoint d'écriture de fragment pour un fragment spécifique sur une entité spécifique, procédez comme suit :
Affichez les données de fragment pour l'entité souhaitée dans l'onglet Entités.
Cliquez sur le bouton Définir le breakpoint d'écriture.
Remarque : le breakpoint se déclenche dans le code de EntityIterator pour MassExecutionContext::EntitiyIterator. Seul le code qui utilise cet itérateur ou les wrappers de cet itérateur déclenchera des breakpoints de cette manière. Le code déclencheur sera généralement supérieur de deux ou trois niveaux dans la pile d'exécution.
Pour décocher le breakpoint de l'EDI et reprendre l'exécution, utilisez la fonctionnalité Regarder de votre EDI et réglez la variable bDisableThisBreakpoint sur « true » ou « 1 ».
Pour définir un breakpoint d'écriture de fragment pour un fragment donné afin de le déclencher pour n'importe quelle entité sélectionnée, procédez comme suit :
Ouvrez l'onglet Fragments.
Trouvez le fragment désiré.
Cliquez sur le bouton Break sur les écritures pour l'entité sélectionnée.
Utilisez l'onglet Entités ou l'outil Débogueur de jeu (commande de console « EnableGDT ») pour sélectionner une entité.
Contraintes
La fonctionnalité Breakpoints a été testée uniquement dans Visual Studio 2022 et pourrait ne pas être prise en charge dans d'autres EDI.
Les breakpoints ne se déclenchent que pour le code qui utilise MassExecutionContext::CreateEntityIterator pour l'itération d'entité.
L'inspection de fragment nécessite un RTTI UPROPERTY et n'affiche donc que les variables membres avec un balisage UPROPERTY.