Utilisation du débogueur dans Adobe Flex Builder

De nombreux développeurs Flash utilisent la classe Alert pour le débogage ou des instructions de trace en raison d'associations avec Flash. Flex a un vrai débogueur et c'est un excellent outil. Je vais vous montrer comment comprendre ce didacticiel..

introduction

Les erreurs du compilateur sont faciles à repérer et à corriger. Vous recevez un point rouge avec un X, vous indiquant où et quel est le problème..

Les erreurs d'exécution sont plus difficiles à détecter. Le débogueur aide les développeurs en traçant les erreurs d'exécution, en donnant à la fenêtre une vue de ce qui se passe pendant l'exécution de l'application, des valeurs définies pour, de ce qui se passe dans une boucle ou de la raison pour laquelle l'instruction if ne fonctionne pas..

OK, commençons - mais avant de commencer, voici quelques outils dont vous aurez besoin:

La version de débogage de Flash Player

Téléchargez ceci ici. Au cours de ce tutoriel, j'utilise «le débogueur de contenu du plug-in Macintosh Flash Player 10 (Mac à processeur Intel (ZIP), 6,03 Mo)». Pour tester quelle version de Flash Player que vous avez installée, jetez un œil à cet outil pratique de Peter deHaan, qui a d'ailleurs un super blog;)

Voir en taille réelle

Adobe Flex Builder 3

Bien sûr, vous en aurez besoin. Si vous ne l'avez pas, vous pouvez toujours en obtenir un exemplaire gratuit:

  • Gratuit pour tous les clients du secteur de l'éducation: https://freeriatools.adobe.com/Flex/
  • Gratuit pour les développeurs sans emploi: https://freeriatools.adobe.com/learnFlex/

Autres goodies utiles

Échantillons avec code

  • http://examples.adobe.com/Flex3/componentexplorer/explorer.html
  • http://examples.adobe.com/Flex3/consulting/styleexplorer/Flex3StyleExplorer.html

Référence du langage Adobe® Flex ™ 3.3

  • http://livedocs.adobe.com/Flex/3/langref/
  • http://livedocs.adobe.com/Flex/3/html/index.html

Remarques

Les captures d’écran de ce menu sont réalisées sur Mac, mais doivent être identiques à celles du PC. Ma perspective de fenêtre peut être différente de ce que vous voyez, mais vous pouvez trouver tous les onglets dans le menu de la fenêtre..

SI vous êtes prêt, commençons!

Étape 1: Configuration des points de rupture

J'ai créé un nouveau projet Flex. très simple, un panneau avec deux boutons. Chaque bouton appellera sa fonction clic; b1_click () lancera une boucle, appelez la fonction update_Label (). b2_click () créera une erreur d'exécution, car la valeur n_error n'existe pas.

/> Voir en taille réelle

Qu'est-ce qu'un point d'arrêt? Un point d'arrêt est défini sur une ligne exécutable d'un programme. Si le point d'arrêt est activé lors du débogage, l'exécution est suspendue avant que cette ligne de code ne soit exécutée. Pour suspendre l'application pendant son exécution, vous devez définir un point d'arrêt. C'est facile à faire. double-cliquez sur l'espace vide à côté du numéro de ligne. Double-cliquez dessus à nouveau pour supprimer.

Je fixe deux points d'arrêt; lignes 10 et 20 (deux points bleus apparaissent dans la marge). Si je clique sur button1, il s’arrêtera sur la ligne 10, cliquez sur button2 il s’arrêtera sur la ligne 20.

Vous pouvez voir tous vos points d'arrêt dans l'onglet «Points d'arrêt» et vous pouvez les ajouter ou les supprimer à tout moment. De plus, vous pouvez utiliser les cases à cocher pour les activer / désactiver temporairement.

Si vous souhaitez voir comment le nombre change au fil du temps, mettez en surbrillance la valeur, cliquez avec le bouton droit de la souris, sélectionnez «Regarder 'num'»..

«Num» est maintenant ajouté à l'onglet Expressions.

/> Voir en taille réelle

Étape 2: démarrez le mode de débogage et vérifiez certaines valeurs

Maintenant que tout est configuré, commençons la section de débogage. Cliquez sur l'icône qui ressemble à un bug

/> Voir en taille réelle

ou sélectionnez-le dans le menu:

/> Voir en taille réelle

Étape 3: App Started

Lorsque l'application démarre, vous pouvez la voir dans le navigateur, mais rien ne se passe, que faire ensuite? Le point de rupture est défini dans la fonction, nous devons donc l'exécuter.

/> Voir en taille réelle

Étape 4: Déclenchez le point d'arrêt

Pour déclencher le point d'arrêt, cliquez sur “Bouton 1” pour appeler la fonction b1_click (). L’application s’arrête alors à la ligne 10 et num est toujours égal à 0 puisque le code "num + = 1;" n'a pas encore exécuté. Regardez l'onglet Debug. certaines icônes s'allument et certaines valeurs sont maintenant visibles.

/> Voir en taille réelle

Étape 5: Onglet Variables

Voyons d'abord l'onglet Variables. quelques points à noter:

  • Ce: inclut toutes les valeurs de l'application
  • un événement: événement en cours passé dans
  • je: valeur définie dans cette fonction
/> Voir en taille réelle

Ouvrez «ceci», une longue liste apparaîtra. La liste ne cessera de s'allonger, vous remarquerez alors que votre ordinateur ralentit;)

Étape 6: Créer une expression de surveillance

Puisque je sais que je veux me concentrer sur “button2.label”, trouvons-le et clique-droit pour sélectionner “Créer une expression de surveillance”.

Étape 7: Onglet Expression

Maintenant, jetez un coup d'oeil à l'onglet Expressions, simple et propre, juste comme je l'aime. Deux variables que nous examinons maintenant, «num» que nous avons créé plus tôt et «this.button2.label».

Étape 8: Utilisation des contrôles de pas

Regardons maintenant l'onglet de débogage. Dans cet onglet, vous verrez que certaines icônes sont maintenant activées, une liste de noms de fonctions et des noms de composants. La capture d'écran ci-dessous montre que nous sommes actuellement dans la fonction myLoop et que le composant «button2» a effectué un «clic» pour appeler cette fonction..

/> Voir en taille réelle

Étape 9: Apprentissage du contrôleur pas à pas

Ces icônes que nous avons remarquées (vous pouvez les trouver dans menu> exécuter aussi), à quoi servent-elles??

/> Voir en taille réelle

Lorsqu'un thread est suspendu, les contrôles pas à pas peuvent être utilisés pour exécuter l'exécution du programme ligne par ligne..

Souvent, vous pouvez également utiliser des raccourcis - mémorisez-les!

  • Reprendre - la touche F8 (pas pour l'utilisateur Mac) continue l'exécution de l'application.
  • Terminate - arrête le mode de débogage, l'application continue de fonctionner, mais vous ne pouvez plus tracer.
  • Step Over - Touche F6, passe à la ligne suivante du code.
  • Step Into - Touche F5, si la ligne de code actuelle appelle une autre fonction, examinez-la..
  • Step Return - Touche F7, quittez cette fonction.

F6 et F8 seront vos meilleurs amis, souvenez-vous d'eux!

Étape 10: Utilisation de la touche F6

Appuyez sur F6 à quelques reprises. Gardez un œil sur l'onglet Expression, voyez en quoi la valeur change.

/> Voir en taille réelle

Étape 11: Changement de valeur

Continuez à appuyer sur F6! La valeur de num est en train de changer dans l'onglet Expressions.

/> Voir en taille réelle

Étape 12: Utilisation de la touche F5

Si votre boucle ne se termine jamais, se termine tôt ou même ne commence jamais, vous pouvez regarder l'action de près pour voir ce qui se passe. Une fois la boucle terminée, la deuxième fonction update_Label () est appelée. Si vous appuyez sur F6, vous passerez au-dessus, mais nous voulons voir ce qui se passe. dans le update_Label (). Appuyez sur F5 "Pas à pas".

/> Voir en taille réelle

Nous sommes maintenant dans la fonction update_Label ().

/> Voir en taille réelle

Étape 13: Utilisation de la touche F7

Vous pouvez appuyer sur F7 pour revenir à myLoop (). La valeur de «this.button2.label» a été modifiée.

/> Voir en taille réelle

Étape 14 sur l’utilisation de la touche F8

Appuyez sur F8 pour reprendre l'application. Maintenant, l'étiquette de button2 a été mise à jour.

/> Voir en taille réelle

Étape 15: lisez les messages d'erreur dans la session de débogage

OK, maintenant, testons le bogue dans l'application. Nous savons qu'il y a un bogue dans la fonction b2_click (), voyons-le donc en action. Cliquez sur «Bouton 2», la fonction b2_click () sera appelée et l'application s'arrêtera à l'erreur..

/> Voir en taille réelle

Étape 16: onglet Débogage

Examinez l'onglet Débogage. Ici, il vous dit quelle est l'erreur et qui appelle.

/> Voir en taille réelle

Étape 17: Onglet Console

Voici ce qui est affiché dans l'onglet Console. Il vous donne plus d'informations sur l'erreur et le numéro de ligne où l'erreur s'est produite.

/> Voir en taille réelle

Étape 18: Modifier les valeurs des variables

Vous pouvez toujours modifier la valeur des variables lorsque l'application est suspendue. Par exemple, si je souhaite remplacer button2.label de «num = 10» par «nouvelle étiquette», procédez comme suit: commencez par rechercher la variable «étiquette», cliquez avec le bouton droit de la souris et sélectionnez Modifier la valeur..

Étape 19: Fenêtre contextuelle de définition de la valeur

La fenêtre Set Value apparaît et affiche la valeur actuelle..

Étape 20: Entrez la nouvelle valeur

Je vais changer cette chaîne en "nouveau label", puis appuyer sur OK.

Étape 21: Mettre à jour une nouvelle valeur

Maintenant, dans l'onglet Variables, la nouvelle valeur est définie.

Étape 22: Reprendre l'application

Reprendre l'application, vous verrez que l'étiquette a été mise à jour.

/> Voir en taille réelle

Conclusion

Bon, maintenant vous savez utiliser le débogueur! Voici un résumé rapide:

  • Double-cliquez sur Créer un point d'arrêt.
  • Cliquez sur l'icône du bogue pour lancer le mode débogage..
  • Déclencher l'action pour suspendre l'application.
  • L'onglet Variables vous indique quelle est la valeur.
  • L'onglet Console vous indique quelle et où est l'erreur (le cas échéant).
  • L'onglet Débogage vous indique qui a appelé qui et qui a fait quoi
  • Attend ensuite que vous lui disiez quelle action entreprendre.

Si vous pensez être prêt à tester vos compétences de débogage maintenant, essayez-les sur votre propre application.!

Un dernier conseil pour ceux qui découvrent Flex: n'oubliez pas de toujours exporter une version validée, pas la version de débogage, qui est beaucoup plus volumineuse. J'espère que vous avez aimé lire!