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:
dart --observe yourDartProgram.dart
Vous obtiendrez alors un message de ce type:
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:
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)