Attention ! Ne cliquez pas sur ce lien, c'est un piège à enfoirés du net !

Chez oim, forum libreChez oim, forum libre

 
Pages: [1]   En bas

Auteur Sujet: Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)  (Lu 2443 fois)

Songbird

  • Invité
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« le: vendredi 27 mai 2016, 01:03 »
le: vendredi 27 mai 2016, 01:03

 :gp:

Comment déboguer une application Dart ?

Pour la chasse aux bugs, l'Observatoire sera votre meilleur allié.
Il permet de suivre étape par étape l'exécution de votre programme grâce à la mise en place de breakpoints, mais vous pourrez également tester vos classes en live en accédant à la hiérarchie des classes de votre projet.
Vous disposerez aussi de rapports plus ou moins détaillés des performances de votre programme, de sa consommation mémoire, processeur, des effets du garbage collector de la mémoire utilisée, et la taille de chaque génération. (old and young generation)

Pour visionner rapidement le résultat, créez un programme dart (disposant d'une fonction main), puis entrez la commande suivante dans votre shell:
Code
dart --observe yourDartProgram.dart

Vous obtiendrez alors un message de ce type:
Citation
vm-service: isolate 'Nox.dart$main' has no debugger attached and is paused at start.  Connect to Observatory at http://127.0.0.1:8181 to debug.
Il vous invite donc à renseigner l'adresse http://127.0.0.1:8181 dans votre navigateur pour accéder à l'interface de l'Observatoire ainsi qu'aux outils qui le composent.
Pour le message précédé par "vm-service", aucun problème. Il vous informe juste que vous n'avez appelé aucun débogueur dans votre code, ce qui vous empêche donc de visionner le comportement de votre méthode main.
Pour y remédier, il vous suffit d'entrer le flag --pause-isolates-on-start avec votre commande:
Code
dart --observe --pause-isolates-on-start Nox.dart 
Le débogueur s'arrêtera alors avant l'appel de la fonction main, vous permettant de vous tenir au courant de ce qu'il se passe là-dedans.

Lorsque vous êtes connectés, vous vous retrouverez dans ce chemin: http://127.0.0.1:8181/#/vm.
A côté du graphique en camembert, vous apercevrez une liste de liens et vous rendrez donc sur See debugger, et c'est ici que vous pourrez passer des instructions au débogueur pour visionner l'exécution de votre programme, voici un exemple:


Les breakpoints s'exécute en direct devant vos yeux, permettant ainsi une résolution des bugs plus rapides.
(pour passer les breakpoints, il suffit de taper "c" pour passer au suivant)

Documentation de l'Observatoire. (anglaise)
Signaler au modérateur   IP archivée

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #1 le: vendredi 27 mai 2016, 11:52 »
le: vendredi 27 mai 2016, 11:52

J'imagine que c'est le debugger qui place les breakpoints.
On peut en ajouter ou en retirer ?
Signaler au modérateur   IP archivée

Songe

  • Observateur
  • Pipelette intarissable
  • ********
  • Hors ligne Hors ligne
  • Messages: 6.076
  • Chérie officielle chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #2 le: vendredi 27 mai 2016, 18:42 »
le: vendredi 27 mai 2016, 18:42

Çà veux dire quoi transpillée ?  :iz:
Signaler au modérateur   IP archivée
Levez la tête, je suis là tout en haut.. Je vous salue depuis le phare.

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #3 le: vendredi 27 mai 2016, 18:50 »
le: vendredi 27 mai 2016, 18:50

Transpiler, c'est passer d'un langage à un autre.
Enfin, c'est plutôt une conversion d'un langage vers un autre. Un programme en langage X sera transpilé en un langage Y.

Par exemple, dans ce topic on parle du langage Dart.
Dart n'est pas utilisable directement par ton navigateur. On va donc le transpiler en langage JavaScript que ton navigateur connait très bien.

C'est presque pareil que "compiler" sauf que la compilation transpile toujours un langage X en langage machine (ou pseudo langage machine).

C'est bon ? T'as compris ? :gf:
Signaler au modérateur   IP archivée

Songbird

  • Invité
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #4 le: vendredi 27 mai 2016, 19:20 »
le: vendredi 27 mai 2016, 19:20

Citation
J'imagine que c'est le debugger qui place les breakpoints.
On peut en ajouter ou en retirer ?
Oui bien sûr ! :)
Quand tu tapes la commande h, tu as toutes les commandes supportées par le débogueur.
Signaler au modérateur   IP archivée

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #5 le: vendredi 27 mai 2016, 19:58 »
le: vendredi 27 mai 2016, 19:58

Ah bon, c'est bien ce qu'il me semblait aussi. :)
Signaler au modérateur   IP archivée

Songe

  • Observateur
  • Pipelette intarissable
  • ********
  • Hors ligne Hors ligne
  • Messages: 6.076
  • Chérie officielle chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #6 le: vendredi 27 mai 2016, 20:41 »
le: vendredi 27 mai 2016, 20:41

J'ai comprit le principe même si demain j'aurai probablement oublier . :gf:
Signaler au modérateur   IP archivée
Levez la tête, je suis là tout en haut.. Je vous salue depuis le phare.

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Dart - Débogage avec l'observatoire (débogage d'application Dart non transpilée)
« Réponse #7 le: vendredi 27 mai 2016, 20:51 »
le: vendredi 27 mai 2016, 20:51

Tu repasseras ici pour relire. ;)

Sinon, au pire, tu redemandes. :iq:
Signaler au modérateur   IP archivée
Pages: [1]   En haut
 

Page générée en 0.157 secondes avec 21 requêtes.