Le contenu de ce site a été traduit à l'aide de l'intelligence artificielle (IA) ou d'une technologie de traduction automatique, et peut contenir des erreurs.

Skip to content

Améliorations du débogueur Lua !

Nous sommes ravis de vous annoncer aujourd’hui une refonte majeure de notre débogueur Lua ! Cette fonctionnalité est conçue pour vous aider à comprendre comment votre code s’exécute et à identifier les bogues plus efficacement que les options couramment utilisées, telles que les instructions d’impression. Si vous n’avez pas récemment exploré le débogueur Lua, nous vous invitons à découvrir comment il peut être utilisé pour déboguer votre code plus efficacement. Avant de décrire les dernières améliorations et corrections, passons brièvement en revue les principales fonctionnalités du débogueur Lua.

Points d'arrêt

L'insertion de points d'arrêt dans votre code vous permet de suspendre le jeu à tout moment pour en inspecter la logique. Pour utiliser les points d'arrêt, repérez approximativement l'endroit où votre jeu présente un dysfonctionnement et placez des points d'arrêt sur les instructions pour lesquelles vous avez besoin de plus d'informations en cliquant à gauche de la ligne de code. L'exécution de votre code s'arrêtera temporairement et toutes les variables globales et locales, les propriétés et les références d'objets afficheront les valeurs qui leur ont été attribuées dans le jeu jusqu'à ce moment-là.

In this example, a breakpoint has been set at the print statement allowing you to inspect the value of set variables by hovering your cursor over them.

Parcourez votre code pas à pas

Lorsque vous avez mis votre code en pause à un point d'arrêt spécifique, vous pouvez vous concentrer sur le diagnostic de ce qui se passe. Par exemple, lorsque vous atteignez d'autres appels de fonction, vous pouvez entrer dans ces fonctions et examiner ce qu'elles font. Vous pouvez également sortir de n'importe quelle fonction, ce qui exécutera alors le code jusqu'à ce que la fonction revienne et s'arrête à l'instruction suivante du code qui l'a appelée. Cette fonctionnalité vous permet d'observer de près comment les variables évoluent au fil du temps et quelles fonctions sont appelées.

In this example, clicking the Step Into button moves the debugger inside the function called testFunc( )
Dans cet exemple, cliquer sur le bouton « Step Out » fait sortir le débogueur de la fonction testFunc() et le place sur la ligne de code suivante après l'appel initial de la fonction.

Surveillez les modifications apportées à vos variables

La fonction « Ajouter une surveillance » vous permet d'indiquer au débogueur Lua quelles variables vous souhaitez suivre ou surveiller lorsqu'elles rencontrent des points d'arrêt. Pour ajouter un élément à la liste de surveillance, il vous suffit de sélectionner une variable, de cliquer dessus avec le bouton droit de la souris dans la vue du script, puis de cliquer sur l'élément de menu « Ajouter une surveillance ». Vous pouvez également cliquer sur le bouton « Ajouter une surveillance » et saisir le nom de la variable. Cela permettra de récupérer automatiquement des informations sur la valeur de la variable surveillée lorsque les points d'arrêt sont atteints.

Dans cet exemple, cliquer sur le bouton « Step Out » fait sortir le débogueur de la fonction testFunc() et le place sur la ligne de code suivante après l'appel initial de la fonction.

Pile d'appels

La fenêtre Pile d'appels présente une liste des fonctions qui s'appellent les unes les autres dans l'ordre. Par exemple, la fonction A appelle la fonction B, qui à son tour appelle la fonction C contenant un point d'arrêt intégré. Ensuite, lorsque l'exécution s'arrête à ce point d'arrêt, la pile affiche l'ordre dans lequel chaque fonction a été appelée ainsi que l'endroit où l'appel a été effectué. Tout en observant les variables locales dans la fonction C, vous pouvez également basculer entre les fonctions de la pile, modifier le contexte de la fonction actuellement sélectionnée dans la liste de la pile et examiner les modifications apportées à ces variables locales.

Dans cet exemple, vous pouvez voir où vous en êtes dans votre jeu lorsque celui-ci est mis en pause à un point d'arrêt dans le code. Si la ligne de code actuelle a été appelée depuis une fonction elle-même appelée depuis une autre fonction, la pile d'appels affichera l'ordre dans lequel les fonctions ont été appelées, ainsi que le numéro de ligne où l'appel a été effectué.

Utilisation du débogueur Lua

Vous pouvez accéder au débogueur Lua à tout moment lorsque vous modifiez des scripts dans Roblox Studio. Pour commencer et ajouter des points d'arrêt à votre code, il vous suffit de cliquer à gauche de la ligne de code de la fenêtre de script que vous souhaitez mettre en pause. Chaque ligne sur laquelle vous cliquez et que vous désignez comme point d'arrêt sera signalée par un point rouge.

Dès que vous lancez une session de test de votre jeu, vous pouvez activer les options « Breakpoint », « Add Watch » et « Call Stack » dans le menu « View » et analyser le comportement de votre code sous la fenêtre d'affichage principale. C'est aussi simple que ça ! Si vous n'avez jamais utilisé le débogueur Lua auparavant, nous vous encourageons à l'essayer.

Nouvelles améliorations

Maintenant que nous avons passé en revue les principales fonctionnalités du débogueur Lua, nous avons récemment apporté un certain nombre d'améliorations et de corrections importantes, notamment :

  • Correction d'un problème empêchant parfois l'ouverture du script correct à un point d'arrêt ou depuis la fenêtre Call Stack.
  • Correction de la mise en surbrillance de la ligne actuelle dans le débogueur Lua.
  • Les erreurs de protection d'appel ou de pcall sont désormais correctement détectées.
  • Ajout de tables mixtes qui vous permettent de surveiller et de suivre les valeurs. Vous pouvez également survoler une variable de table et voir immédiatement toutes vos valeurs sans avoir à les afficher.
  • Diverses améliorations mineures de l'interface utilisateur.
  • Diverses corrections apportées aux info-bulles et à la fenêtre « Ajouter une surveillance ».
    • Le survol de la souris sur les variables à un seul caractère affiche désormais correctement la valeur de la variable.
    • Toutes les propriétés sont désormais répertoriées dans l'info-bulle et la fenêtre « Watch », sans aucune omission.

Nous nous engageons à fournir à la talentueuse communauté de développeurs Roblox les outils dont elle a besoin. Nous serions ravis de connaître votre avis sur la manière dont nous pouvons continuer à améliorer le débogueur Lua sur le forum des développeurs.