Débogage

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Studio offre de nombreux outils de débogage communément trouvés dans les environnements de développement intégré (IDE). Ces outils vous aident à résoudre les erreurs et à inspecter les scripts ligne par ligne pendant l'lancer. Les informations de débogage sont affichées dans les fenêtres de suivi , points d'arrêt , points d'interrupteur et 1>sortie1> pour vous permettre d'inspecter.

Flux de travail général

Si vous remarquez un problème dans votre expérience ou voulez vérifier qu'il fonctionne comme vous le souhaitez, vous pouvez déboguer le code associé à l'expérience en suivant les étapes suivantes :

  1. Insérer des points d'arrêt sur les lignes du code que vous voulez examiner.

  2. Dans l'onglet script, cliquez sur jouer ou exécuter dans l'onglet test pour commencer une session de test, également appelée une session de débogage.

    Playtest options in Script tab.
  3. Lorsqu'un script atteint un point d'arrêt, la session de test du script s'arrête. Traversez le code. Inspectez les montre , appeler le script et sortir fenêtres pour vous aider à diagnostiquer et à comprendre le problème.

  4. Insérez des points d'arrêt supplémentaires sur les lignes de code qui n'ont pas encore été exécutées pour inspecter des données supplémentaires. Désactivez ou supprimez les points d'arrêt que vous n'avez plus besoin.

  5. Dans l' Script onglet, cliquez sur Arrêter pour terminer la session de débogage.

Répétez les étapes précédentes jusqu'à ce que vous ayez résolu le problème ou trouvé sa cause racine. Au fur et à mesure que vous apprenez le workflow général, vous pouvez configurer les points d'arrêt pour s'arrêter seulement si certaines conditions sont remplies, pour imprimer un message dans la fenêtre sortie et pour exécuter uniquement sur le client ou le serveur. Pour plus d'informations, voir Configurations de points d'arrêt.

Insérer des points d'arrêt

Les points d'arrêt sont des points de contrôle qui暂停 ou « brise » l'exécution de vos scripts à des lignes spécifiques. Vous pouvez utiliser les pauses pour inspecter et déboguer votre expérience, regarder les variables et inspecter le call stack. Les points d'arrêt sont l'un des outils de débogage les plus efficaces, donc ils sont l'un des outils de débogage les plus importants. Vous pouvez insér

Pour insérer un point d'arrêt standard à une ligne de code, cliquez avec le bouton gauche de la souris sur la marge à droite de son numéro de ligne. Vous pouvez également cliquer avec le bouton gauche de la souris sur la marge et cliquer sur Insérer le point d'arrêt. Le point d'arrêt apparaît comme un point rouge. Pour le désactiver, cliquez sur le point.

Breakpoint in gutter is a red dot

Pas à pas à travers le code

Si vous insérez un point d'arrêt dans une ligne dans un script, le script s'arrête avant qu'il exécute cette ligne. Une flèche jaune appelée le « débogueur » indique le code de ligne suivant.

Active breakpoint in the debugger shows yellow arrow

Lorsque le script s'arrête, exécutez le code suivant une ligne à la fois en passant à travers eux avec les boutons dans l'onglet Script. Les boutons apparaissent également dans le coin supérieur gauche de la fenêtre Call Stack. Au fur et à mesure que vous exécutez le code, surveillez comment votre expérience change au fur et à mesure que la ligne actuelle s'exécute.

Debugging tools indicated in Script tab

Le tableau suivant résume les trois façons d'exécuter le code. Pour continuer à exécuter votre code après avoir atteint un point d'arrêt, cliquez sur Résumer dans l'onglet Script .

BoutonActionRaccourciDescription
Button to step into a line of code Pas dans F11Le bouton Passer dans déplace le débogueur dans le code de la fonction sur la ligne actuelle. S'il n'y a pas de fonction sur la ligne actuelle, le débogueur se déplace vers la ligne suivante.
Button to step over a line of code Passer au-dessus F10Le bouton Passer au-dessus déplace le débogueur à la prochaine ligne de code, non de se déplacer dans les fonctions.
Button to step out of a line of code Sortez de l'étape MajF11Le bouton Passer à l'extérieur déplace le débogueur de la fonction actuelle et à la prochaine ligne de code après l'appel de la fonction. Si la ligne actuelle n'est pas dans une fonction, le débogueur se déplace vers la prochaine ligne.

Inspection du code

Lorsqu'un point d'arrêt interrompt l'expérience pendant un test de jeu, vous pouvez inspecter la fenêtre Watch, la call stack, la fenêtreOutput, et le 1> Script Editor1> pour trouver des informations sur les valeurs et les fonctions d'exécution variables. Avec cette information, vous pouvez trouver la cause racine du problème dans votre expérience.

Regarder la fenêtre

La fenêtre Watch a deux onglets : Variables et Mes montres. L'onglet 2> Variables2> affiche les informations sur les variables actuelles dans le champ, et l'onglet 5> Mes montres5> affiche la valeur des variables ou des expressions que vous définissez. Les deux onglets affichent des informations avant l'exécution de la ligne.

L'onglet Variables a les colonnes suivantes :

  • Nom – Le nom déclaré de la variable.
  • Lunette – La lunette de la variable : où elle peut être « vue » et accessible, telle qu'Local, Global ou Upvalue.
  • Valeur – la valeur actuelle de la variable.
  • Type de données – Le type de données de la variable.

L'onglet Mes montres a les colonnes suivantes :

  • Expression – L'expression que vous souhaitez inspecter.
  • Valeur – la valeur actuelle de l' expression.
  • Type de données – Le type de données de l' expression.

Dans l'onglet Variables , vous pouvez filtrer la portée des variables en cliquant sur l'icône de filtre. Vous pouvez également trier les rangées en cliquant sur le nom de la colonne pour trier par. La fenêtre d'aiguille fournit à la fois les vues étendues et les vues effondrées des tables.

Watch Window with variable values

Pour inspecter le code dans la fenêtre de montre :

  1. Si la fenêtre Watch n'est pas ouverte, alors cliquez sur Watch dans l'onglet View.

  2. Lorsque votre session de test de jeu s'arrête à un point d'arrêt, réfléchissez à la façon dont vous attendez que la ligne actuelle change les valeurs des variables dans ce script.

  3. Au fur et à mesure que vous passez du code, observez comment la valeur des variables change dans l' Variables onglet. Si vous voulez regarder une expression qui n'est pas dans l' onglet des Variables, ouvrez l' onglet Mes montres . Cliquez sur une ligne vide dans la colonne Montres , puis saisissez l' expression dans elle. Si vous voulez regarder une variable dans le Editeur de script, double-

  4. Comparez les valeurs des variables et des fonctions à ce que vous attendez et ce que vous voyez dans la fenêtre de montre. Si il y a une différence entre la façon dont vous attendez que les variables changent et la façon dont elles changent en fait, alors les variables ou les fonctions avec lesquelles elles interagissent peuvent causer des problèmes ou des bogues.

Fenêtre d'invocation du pilote

La fenêtre Call Stack indique le code de ligne qui s'exécute ensuite lorsque le débogueur atteint un point d'arrêt. La fenêtre Call Stack indique le code que vous appelez d'une fonction et, si vous appelez la fonction dans d'autres fonctions, l'ordre des appels de fonction et les lignes que vous appelez les autres fonctions. Le sommet de la fonction de Call Stack est le dernier appelé et le premier à s'

Call Stack in Studio

Si vous avez plusieurs points d'arrêt dans différents scripts, ils peuvent interrompre la session de test du jeu en même temps. Vous pouvez sauter aux points d'arrêt en cliquant sur la flèche à côté du nom du script dans la fenêtre Call Stack. Si vous cliquez sur Résumer , vous sautez sur tous les points d'arrêt qui se sont arrêtés en même temps.

Call Stack with multiple breakpoints

Pour inspecter le code dans la fenêtre Call Stack lors d'une session de débogage :

  1. Si la fenêtre Call Stack n'est pas ouverte, alors cliquez sur Call Stack dans l'onglet Affichage.

  2. Lorsque votre expérience s'arrête à un point d'arrêt, réfléchissez à la façon dont vous attendez que les appels de fonction soient dans ce script.

    Script Editor with two functions and one breakpoint
  3. La pile d'appels montre l'ordre des appels de fonction. Si le point d'arrêt est à l'intérieur d'une fonction, la pile d'appels montre lequel des appels de fonction appellent, si nécessaire. La pile d'appels montre également le nom et le numéro de ligne de chaque fonction. Cliquez sur la ligne pour quitter la fonction.

    Click in Call Stack to jump to line
  4. Comparez l'ordre des appels de fonction que vous avez pensés dans la étape 2 et l'ordre actuel dans l'étape 3. S'il y a des différences, il y a une différence entre la façon dont vous attendez que le code se comporte et la façon dont il se comporte réellement, ce qui peut entraîner des problèmes potentiels et des bogues.

Fenêtre d'Output

La fenêtre de sortie, accessible à partir de l'affichage de la vue onglet, affiche les erreurs capturées en exécutant des scripts, des messages de Roblox Engine, des journaux de messages, des messages de l'appel à print() et des erreurs de l'appel à 1> arn()1> .

Éditeur de scripts

Le débogueur est intégré avec le Éditeur de scripts. Lorsque votre expérience s'arrête à un point d'arrêt dans un script, vous pouvez passer votre souris sur le nom d'une variable pour voir sa valeur. Par exemple, vous pouvez voir la valeur d'une table que vous passez en argument dans un appel de fonction.

Mouseover a variable in Script Editor to show value

Configurations de point d'arrêt

Vous pouvez configurer des points d'arrêt pour s'arrêter seulement si certaines conditions sont remplies, pour imprimer un message dans la fenêtre sortie et pour exécuter uniquement sur le client ou le serveur. Vous pouvez également mélanger ces paramètres ensemble pour mieux correspondre à vos besoins de débogage.

Edition des points d'arrêt

Vous pouvez modifier la configuration d'un point d'arrêt à tout moment, y compris pendant les sessions de test de jeu. Si vous modifiez un point d'arrêt pendant une session de test de jeu, les modifications persistent même après que vous les ayez terminées. Vous pouvez également modifier un point d'arrêt qui met en pause activement votre session de test, mais les modifications ne s'appliquent pas jusqu'à la prochaine session de test.

Pour modifier la configuration d'un point d'arrêt :

  1. Faites un clic droit sur le point d'arrêt, puis cliquez sur Modifier point d'arrêt .

    Right click to edit a breakpoint in Studio
  2. Dans la fenêtre Éditer le point d'arrêt , configurez le point d'arrêt comme vous le souhaitez.

    Edit Breakpoint window in Studio

Conditions, message de journal et options

Pour chaque point d'arrêt, vous pouvez définir sa condition, message journal, continuation de l'exécution et 2>contexte2>.

La condition est l'expression qui détermine si le point d'arrêt s'active. La condition est facultative. Si la condition est vide, le point d'arrêt s'active toujours. Si la condition existe, alors le point d'arrêt s'active seulement si la variable n correspond à

Le Message d'enregistrement est l'expression qui imprime dans la fenêtre d'Output lorsque la condition est vraie. Le format du Message d'enregistrement est le même que l'argument pour une déclaration print(). Par exemple, configurez le Message d'enregistrement comme "The value of n:", n pour imprimer le même message que

L'option Continuer l'exécution détermine si le point d'arrêt met en pause le script si il s'active. Il est utile si vous voulez enregistrer les valeurs des variables ou des expressions sans arrêter l'exécution. Cette option est désactivée par défaut.

Le contenu d'un point d'arrêt détermine si le point d'arrêt doit s'activer sur le client, le serveur ou l'éditeur. Si le contenu est client, le point d'arrêt s'activera dans les scripts côté client. Si le contenu est serveur, le point d'arrêt s'activera dans les scripts côté serveur. Si le contenu est éditeur, le point d'arrêt s'activera lorsque vous déboguez les plugins. Si vous cliquez sur

Edit Breakpoint Window shows Custom Context

Points de rupture conditionnés et points de journal

Studio offre des variantes nommées de points d'arrêt pour rendre l'insertion d'un point d'arrêt plus rapide. Pour insérer une variante nommée, faites un clic droit sur la marge à droite de son numéro de ligne, puis cliquez sur la variante que vous souhaitez insérer.

Right click to insert a breakpoint

Un Point de rupture conditionnel est un point de rupture avec une condition et Exécution continue désactivés. Les points de rupture conditionnels mettent votre script en pause seulement si une condition est vraie, soit à vrai, soit en mode 2> déboguer2>. Lorsque vous insérez un point de rupture conditionnel, votre

Un Logpoint est un point d'arrêt avec un Message de journal et Exécution continue activé. Les messages de journaux sont enregistrés dans la fenêtre 2>Affichage2> sans interrompre vos scripts, afin qu'ils soient utiles pour déboguer les valeurs variables. Les 5>Logpoints5> utilisent les valeurs des variables avant la fin de la ligne pour vous

Les points de journal sont souvent plus efficaces pour déboguer les variables que les print() déclarations car ils vous permettent de journaux les messages dans la fenêtre sortie sans avoir à arrêter ou à redémarrer la session de test actif. Par rapport aux print() déclarations, ils gardent votre code propre pendant que vous déboguez et sont plus faciles à supprimer après avoir terminé le débogage.

Désactivation des points d'arrêt

Il y a de nombreuses façons de désactiver et de réactiver un point d'arrêt :

  • Cliquez sur l'icône de la zone d'arrêt.
  • Éditez le point d'arrêt et activez sa case à cocher activée.
  • Faites un clic droit sur l'icône de point d'arrêt et cliquez sur Désactiver le point d'arrêt ou Activer le point d'arrêt.

Suppression des points d'arrêt

Pour supprimer un point d'arrêt, faites un clic droit sur son icône. Vous pouvez également cliquer avec le bouton droit de la souris sur Supprimer le point d'arrêt .

Fenêtre des points d'arrêt

La fenêtre Breakpoints affiche tous les breakpoints dans votre expérience. Pour ouvrir la fenêtre Breakpoints, cliquez sur l'onglet affichage en haut de Studio, puis cliquez sur Breakpoints.

Breakpoints window in Studio

La fenêtre Breakpoints a les colonnes suivantes : non marquées, Script, Ligne, Source Ligne, Conditions, Message de journal et Continuer l'exécution. Les colonnes non marquées, Script et Ligne, s'affichent toujours, mais vous pouvez activer ou désactiver les autres colonnes en cliquant sur les trois points dans le coin supérieur droit de la fenêtre.

Dans la colonne non marquée, la balise (x3) indique le nombre de points d'arrêt sur la même ligne de code, et l'icône indique la configuration de point d'arrêt. Les points d'arrêt sur la même ligne partagent la même condition, le message journal et la continuation de l'exécution, mais varient en contexte. Vous pouvez modifier la configuration d'un point d'arrêt dans la fenêtre Points d'arrêt. Par exemple, vous pouvez modifier la condition d'un point d'arrêt en

Edit the Condition of a Breakpoint in the Breakpoints Window

Vous pouvez activer et désactiver les points d'arrêt en cliquant sur son icône de point d'arrêt dans la colonne Activé. Vous pouvez également cliquer sur les boutons suivants pour activer, désactiver et supprimer quelques points d'arrêt.

BoutonAction
Button to disable all breakpointsDésactivez tous les points d'arrêt. Si un point d'arrêt est désactivé, activez-le tout.
Button to delete all breakpointsSupprimez tous les points d'arrêt.

Icônes de point d'arrêt

L'icône d'un point d'arrêt dépend de son activation, d'une condition et d'un message de journal. Si un point d'arrêt a un message de journal, il apparaît comme un point d'arrêt indépendant de l'activation.

NomIcôneActivéConditionsMessage de journal
Point d'arrêtOuiNonNon
NonNonNon
Point d'arrêt conditionnelOuiOuiNon
NonOuiNon
Point de journalOuiPeut-êtreOui
NonPeut-êtreOui

Outils de débogage supplémentaires

En plus du débogueur, Studio offre des outils de débogage supplémentaires pour vous permettre de résoudre des problèmes et des bogues dans votre expérience.

Barre de commande

La Barre de commande vous permet d'exécuter les commandes Luau pendant que l'expérience s'exécute. Il est disponible dans le studio à partir de l' Affichage onglet et dans le Console développeur.

Console de développeur

La Console du développeur fournit une gamme de détails, y compris la sortieclient et serveur, l'utilisation de la mémoire, la performance du réseau et plus encore. Pour ouvrir la /console pendant le test ou le expérience, tapez /console dans le chat ou appuyez sur 1> F91> . Pour plus d'informations, consultez 4>Console du développeur4>.

Fichiers de journal

Lorsqu'un script imprime ou erreur dans Studio ou le Player app, l'app enregistre le message dans un fichier de journal dans le système de fichiers local. Ces fichiers sont situés dans différents endroits en fonction du système d'exploitation.

Windows

Pour accéder aux fichiers journaux sur Windows :

  1. Ouvrez Explorateur de fichiers .
  2. Accédez au dossier %LOCALAPPDATA%\Roblox\logs.
  3. Double-cliquez sur un journal pour l'ouvrir. Les journaux avec la même valeur XXXXX sont de la même session Studio.

Mac

Pour accéder aux fichiers journaux sur Mac :

  1. Ouvrez Finder .
  2. Dans la barre de menu, sélectionnez Aller > Aller dans le dossier... .
  3. Dans la boîte de dialogue, entrez ~/Library/Logs/Roblox .
  4. Double-cliquez sur le résultat pour accéder à la direction Roblox Logs.
  5. Dans le dossier, double-cliquez sur un journal pour l'ouvrir.

iOS

Vous pouvez collecter des journaux iOS à l'aide d'un Mac ou d'un appareil iOS.

Pour accéder aux fichiers de journal iOS sur un Mac :

  1. Connectez le dispositif iOS à un Mac.
  2. Ouvrez Finder .
  3. Navigate to Utilities and open the Console application.
  4. Pour remplir les journaux en temps réel dans l'application Console, sélectionnez le dispositif iOS à partir de la barre latérale, cliquez sur le bouton Démarrer et reproduisez le problème sur le appareiliOS.
  5. Pour remplir les journaux archivés dans l'application Console, exécutez sudo log collect --DEVICE-NAME "iOS Device Name" dans le Terminal . Assurez-vous qu'il n'y a pas d'astrophes dans le nom du appareilou vous risquez d'obtenir une erreur lors de l'exécution de la commande.

Android

Pour accéder aux fichiers journaux sur Android :

  1. Accédez à Paramètres >, Système >, Options développeur .
  2. Activer Options développeur sur.
  3. Sur un ordinateur, téléchargez et installez Android Studio.
  4. Dans Android Studio, cliquez sur Logcat .
  5. Connectez le dispositif Android à l'ordinateur pour remplir automatiquement Logcat avec des journaux.