Studio propose de nombreux outils et flux de travail de débogage couramment trouvés dans les environnements de développement intégrés (IDE). Ceux-ci vous aident à inspecter et à résoudre les erreurs dans les scripts pendant leur exécution.
Débogage par points d'arrêt
Les points d'arrêt sont des points de contrôle qui mettent en pause ou "coupent" l'exécution de vos scripts à des lignes spécifiques. Vous pouvez utiliser ces pauses pour inspecter et déboguer votre jeu, surveiller des variables et inspecter la pile d'appels. Les points d'arrêt sont l'un des moyens les plus efficaces de déboguer des fonctions, ils constituent donc l'un des outils de débogage les plus importants.
Gestion
Dans l'Éditeur de script, vous pouvez insérer plusieurs types de points d'arrêt et modifier la configuration d'un point d'arrêt à tout moment, y compris pendant les sessions de test. Si vous modifiez des points d'arrêt pendant une session de test, les modifications persistent même après l'avoir terminée. Vous pouvez également modifier un point d'arrêt qui met activement en pause votre session de test, mais les changements ne s'appliquent qu'à la prochaine session de test.
Insérer
Les points d'arrêt prennent plusieurs variations et peuvent être insérés à n'importe quelle ligne de code exécutable comme suit :
Pour insérer un point d'arrêt standard à une ligne de code, cliquez dans la marge directement à droite de son numéro de ligne. Alternativement, faites un clic droit dans la marge et sélectionnez Insérer Point d'arrêt. L'icône du point d'arrêt apparaît sous la forme d'un cercle rouge.

Désactiver
Pour désactiver temporairement un point d'arrêt sans le supprimer, utilisez l'un des flux de travail suivants :
- Cliquez sur l'icône du point d'arrêt.
- Faites un clic droit sur l'icône du point d'arrêt et sélectionnez Désactiver le point d'arrêt.
- Modifiez le point d'arrêt et basculez la case à cocher Activé.
Un point d'arrêt désactivé apparaît sous la forme d'une version creuse de son icône activée, par exemple un cercle creux pour un point d'arrêt standard désactivé, ou un losange creux pour un logpoint désactivé.


Supprimer
Pour supprimer un point d'arrêt, cliquez avec le bouton du milieu sur son icône ou faites un clic droit sur son icône et sélectionnez Supprimer le point d'arrêt.
Modifier
Vous pouvez modifier la configuration d'un point d'arrêt à tout moment, y compris pendant les sessions de test. Si vous modifiez des points d'arrêt pendant une session de test, les modifications persistent même après l'avoir terminée. Vous pouvez également modifier un point d'arrêt qui met activement en pause votre session de test, mais les changements ne s'appliquent qu'à la prochaine session de test.
Pour modifier un point d'arrêt :
Faites un clic droit sur l'icône du point d'arrêt et sélectionnez Modifier le point d'arrêt.
Dans la fenêtre Modifier le point d'arrêt, configurez le point d'arrêt comme souhaité. Vous pouvez mélanger ces configurations pour mieux répondre à vos besoins de débogage.
Option Description Condition Une expression optionnelle qui détermine si le point d'arrêt s'active. Si la condition est vide, le point d'arrêt s'active toujours. Si la condition existe, le point d'arrêt devient un point d'arrêt conditionnel et s'active uniquement si la condition est vraie. Par exemple, si vous souhaitez que le point d'arrêt s'active uniquement si la variable var est égale à 10, définissez la condition sur var == 10. Message de log Une expression qui s'imprime dans la fenêtre Sortie lorsque le point d'arrêt est atteint. Le format du message de log est le même que celui d'une instruction print(). Par exemple, définissez le message de log comme "La valeur de var:", var pour produire le même message que print("La valeur de var:", var). Continuer l'exécution Détermine si le point d'arrêt met le script en pause s'il s'active. Cette option est désactivée par défaut, sauf si le point d'arrêt inséré est un logpoint. Supprimer le point d'arrêt à l'activation Si coché, le point d'arrêt se supprime automatiquement après la première session de test, le rendant ainsi un point d'arrêt temporaire. Déclencher à Le contexte d'un point d'arrêt détermine s'il doit s'activer sur le Client (scripts côté client), Serveur (scripts côté serveur) ou Édition (débogage de scripts plugin). Si vous choisissez Contexte personnalisé, la fenêtre indique les contextes de déclenchement actuels.
Flux de travail
Le flux de travail typique pour le débogage par points d'arrêt est le suivant :
Ouvrez le script que vous souhaitez déboguer et insérez des points d'arrêt sur les lignes de code que vous souhaitez examiner.
Depuis le mezzanine de Studio, initiez une session de test pour commencer le débogage.

Lorsque le script atteint un point d'arrêt, la session de test met en pause à moins que ce point d'arrêt ne soit configuré pour continuer l'exécution. Une flèche jaune au-dessus du point d'arrêt indique quelle ligne de code s'exécute ensuite.

Pendant que le script est en pause, inspectez la fenêtre Points d'arrêt, la fenêtre Surveillance, la fenêtre Pile d'appels, la fenêtre Sortie et l'Éditeur de script pour trouver des informations sur les valeurs des variables et les exécutions de fonctions.
Pour continuer à exécuter le code après avoir atteint un point d'arrêt, cliquez sur Reprendre les scripts dans le mezzanine.

Vous pouvez également exécuter le code ligne par ligne avec les boutons de pas dans le mezzanine :

Action Raccourci Description Pas à pas F11 Le bouton Pas à pas déplace le débogueur dans le code de la fonction à la ligne actuelle. S'il n'y a pas de fonction à la ligne actuelle, le débogueur passe à la ligne suivante. Pas au-dessus F10 Le bouton Pas au-dessus déplace le débogueur à la ligne de code suivante, sans entrer dans les fonctions. Pas en dehors ShiftF11 Le bouton Pas en dehors déplace le débogueur hors de la fonction actuelle et à la ligne de code suivante après l'appel de fonction. Si la ligne actuelle n'est pas à l'intérieur d'une fonction, le débogueur passe à la ligne suivante. Lorsque vous avez terminé de déboguer la session actuelle, cliquez sur le bouton Arrêter.

Surveillance
Studio comprend plusieurs fenêtres et outils pour surveiller les valeurs des variables et les exécutions de fonctions pendant le débogage. Avec ces informations, vous pouvez trouver la cause profonde de la plupart des problèmes dans vos scripts.

Points d'arrêt
La fenêtre Points d'arrêt est une vue unifiée qui montre tous les points d'arrêt dans tous les scripts. Pour l'ouvrir, cliquez sur Points d'arrêt dans la barre d'outils de l'onglet Script de Studio, ou naviguez vers le menu Fenêtre ⟩ Déboguer et activez Points d'arrêt.
Dans la fenêtre, les colonnes Script et Ligne s'affichent toujours, et vous pouvez activer/désactiver d'autres colonnes de configuration via le menu ⋮ dans le coin supérieur droit. Dans la colonne Script, faites un clic droit sur n'importe quel point d'arrêt pour révéler un menu d'options pour modifier, désactiver/activer, supprimer ou sauter à la ligne du point d'arrêt dans le script.

Lors d'une session de débogage, la colonne la plus à gauche affiche (x3), ce qui indique les multiples contextes (Client, Serveur, Édition) pour le point d'arrêt. En développant la branche de n'importe quel point d'arrêt, vous pouvez ensuite cliquer sur l'icône à côté d'un contexte spécifique pour désactiver/activer ce point d'arrêt pour ce contexte, par exemple en désactivant un point d'arrêt uniquement dans le contexte Client tout en le gardant activé dans le contexte Serveur.

Pile d'appels
La fenêtre Pile d'appels, accessible depuis la barre d'outils de l'onglet Script de Studio ou le menu Fenêtre ⟩ Déboguer, montre quelle ligne de code va s'exécuter ensuite lorsque le débogueur atteint un point d'arrêt. Si vous appelez des fonctions à partir d'autres fonctions, elle indique quelles lignes ces fonctions ont été appelées, vous permettant de confirmer si le flux d'appel réel correspond au flux attendu.


Alors que le script est en pause aux points d'arrêt, utilisez les boutons de pas dans le mezzanine pour entrer, sortir ou passer d'une fonction/ligne comme décrit dans le flux de travail.

Surveillance
La fenêtre Surveillance, accessible depuis la barre d'outils de l'onglet Script de Studio ou le menu Fenêtre ⟩ Déboguer, vous permet de surveiller activement les valeurs des variables et des expressions pendant que vous passez à travers les points d'arrêt.
L'onglet Variables montre des informations sur les variables actuelles dans le scope, filtrables en cliquant sur le bouton Tous les scopes dans la barre supérieure de la fenêtre. Développer une branche montre les membres de cette variable ou instance et leurs valeurs. Vous pouvez également surveiller n'importe quelle variable en la surlignant dans l'Éditeur de script, en faisant un clic droit et en sélectionnant Ajouter Surveillance dans le menu contextuel.


Éditeur de script
Le débogueur est intégré à l'Éditeur de script. Lorsque votre jeu est en pause à un point d'arrêt dans un script, vous pouvez survoler le nom d'une variable pour voir sa valeur. Par exemple, vous pouvez voir la composition d'une table et ses clés/valeurs contenues.

Outils de débogage supplémentaires
En plus du débogueur, Studio propose des outils de débogage supplémentaires pour vous aider à résoudre des problèmes et des bogues dans votre jeu.
Barre de commandes
La Barre de commandes vous permet d'exécuter des commandes Luau pendant que le jeu est en cours d'exécution. Elle est disponible dans Studio depuis le menu Fenêtre ⟩ Script et dans la Console de développement.
Console de développement
La Console de développement fournit une large gamme de détails, y compris la sortie client et serveur, l'utilisation de la mémoire, les performances réseau, et plus encore. Pour ouvrir la console pendant le test ou le jeu, tapez /console dans le chat ou appuyez sur F9.
Fichiers journaux
Lorsqu'un script imprime ou génère une erreur dans Studio ou l'application de joueur, l'application enregistre le message dans un fichier journal dans le système de fichiers local. Ces fichiers sont situés à différents endroits selon le système d'exploitation.
Windows
Pour accéder aux fichiers journaux sur Windows :
- Ouvrez Explorateur de fichiers.
- Naviguez vers le répertoire %LOCALAPPDATA%\Roblox\logs.
- Double-cliquez sur un journal pour l'ouvrir. Les journaux avec la même valeur XXXXX proviennent de la même session de Studio.
Mac
Pour accéder aux fichiers journaux sur Mac :
- Ouvrez Finder.
- Dans la barre de menu, sélectionnez Aller ⟩ Aller au dossier....
- Dans la boîte de dialogue, entrez ~/Library/Logs/Roblox.
- Double-cliquez sur le résultat pour naviguer vers le répertoire des journaux Roblox.
- À l'intérieur du répertoire, double-cliquez sur un journal pour l'ouvrir.
iOS
Vous pouvez collecter des journaux iOS en utilisant un Mac ou un appareil iOS.
Pour accéder aux fichiers journaux iOS sur un Mac :
- Connectez l'appareil iOS à un Mac.
- Ouvrez Finder.
- Naviguez vers Utilitaires et ouvrez l'application Console.
- Pour peupler les journaux en temps réel dans l'application Console, sélectionnez l'appareil iOS dans la barre latérale, cliquez sur le bouton Démarrer, et reproduisez le problème sur l'appareil iOS.
- Pour peupler les journaux archivés dans l'application Console, exécutez sudo log collect --device-name "[Nom de l'appareil iOS]" dans le Terminal. Assurez-vous qu'il n'y a pas d'apostrophes dans le nom de l'appareil ou vous pourriez obtenir une erreur lors de l'exécution de la commande.
Android
Pour accéder aux fichiers journaux sur Android :
- Naviguez vers Réglages ⟩ Système ⟩ Options pour les développeurs.
- Activez les Options pour les développeurs.
- Sur un ordinateur, téléchargez et installez Android Studio.
- Dans Android Studio, cliquez sur Logcat.
- Connectez l'appareil Android à l'ordinateur pour peupler automatiquement Logcat avec des journaux.