10 votes

Traçage et débogage en OCaml

Qu'utilisez-vous pour le traçage et le débogage en OCaml ?

Pour le débogage, j'ai essayé ocamldebug et le plugin Emacs.

Pour le traçage, je veux être capable d'imprimer le constructeur de données de chaque variable. Un exemple utilisant Camlp4 est montré ici : http://caml.inria.fr/pub/docs/tutorial-camlp4/tutorial007.html#toc52

   type colour = Red | Green | Blue
   let print_colour =
     function
       Red -> print_string "Red"
     | Green -> print_string "Green"
     | Blue -> print_string "Blue"

9voto

Fabrice Le Fessant Points 2998

ocamldebug fonctionne bien lorsque vous pouvez utiliser le bytecode.

Si vous souhaitez déboguer une application en code natif, il existe une patch de Thomas gazagnaire sur Mantis qui permet d'avancer ligne par ligne dans le programme OCaml en utilisant gdb. Des parties de ce patch devraient être intégrées dans la prochaine version d'OCaml (3.13 ou 4.00).

Actuellement, cependant, il n'y a aucun moyen d'imprimer des valeurs OCaml, mais un autre correctif est à venir, utilisant GADT's pour définir une fonction d'imprimante générique pour tout type.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X