Outils de débogage des ensembles de règles
mode débogage
Vous pouvez exécuter un ensemble de règles en mode débogage pour tester les règles, inspecter l'exécution des règles et l'état du moteur et définir des points d'arrêt sur les classes, les objets, les règles, les tables et arbres de décision et les flux de règles.
Dans Rule Designer, vous pouvez déboguer à la fois le code de la règle et le code Java™ dans un projet.
Les vues Débogage sont utiles lorsque vous commencez à tester et déboguer l'exécution de vos règles. Pour contrôler l'exécution des règles métier, le débogueur vérifie l'ensemble de règles, se connecte à un moteur de règles, envoie l'ensemble de règles au moteur, réinitialise ce dernier et exécute toutes les règles.
- Actions de débogage
- Avec le débogueur, vous disposez d'une variété d'actions pour contrôler le processus d'exécution des règles métier :
- Pour l'exécution en pas à pas d'une instruction de règle ou d'une instruction de code :
- Avancer d'un pas sans entrée : pour aller à la prochaine instruction de règle.
- Step into : pour passer à l'énoncé de règle suivant ou s'arrêter à l'énoncé Java suivant.
- Exécuter jusqu'à l'instruction de retour : pour aller à la prochaine instruction de règle qui n'est pas définie dans l'artefact de règle actuel.
- Passer au cadre ou Utiliser des filtres de progression. Utilisez pour définir les filtres de débogage. (Sur Mac, cliquez sur )
- Reprendre, suspendre et terminer l'exécution.
- Placer des points d'arrêt sur les règles, les classes et les objets.
- Pour l'exécution en pas à pas d'une instruction de règle ou d'une instruction de code :
- Performances en mode débogage
- Vous pouvez améliorer les performances de l'analyse des jeux de règles lorsque vous déboguez un projet de règles dans Eclipse en désactivant cette option : (sur Mac, cliquez sur )Note : Le facteur d'amélioration dépend de votre machine virtuelle Java. Même avec cette option désactivée, les performances obtenues en mode débogage seront inférieures à celles du mode d'exécution normale.
Vue Débogage
La vue Débogage affiche le cadre de pile des unités d'exécution suspendues pour chaque cible que vous déboguez. Vous pouvez obtenir une trace de pile de l'historique d'exécution.
La vue Débogage permet de gérer le débogage d'un projet de règles ou de tout programme Java dans le workbench. Cette vue affiche le cadre de pile des unités d'exécution suspendues pour chaque cible que vous déboguez. Chaque unité d'exécution est figurée par un noeud dans l'arborescence.
La vue Débogage ne fournit pas l'historique de tous les événements qui se produisent dans le moteur de règles. En revanche, une trace de pile est un outil de débogage utile, en particulier lorsqu'une exception a été émise dans le code ou lorsqu'une méthode est appelée depuis une variété d'endroits au sein du code et que vous voulez déterminer de quel endroit précis elle est appelée lorsqu'un problème particulier survient.
Vous pouvez obtenir une trace de pile de l'historique d'exécution. La pile dresse la liste des classes et des méthodes au sein de ces classes qui sont appelées au point où l'exception se produit par un accès programmatique. Par exemple, vous pouvez utiliser la classe StackTraceElement et la méthode getStackTrace de la classe Throwable.
Vous pouvez également générer une trace partielle de la pile Java en utilisant la méthode statique Thread.dumpStack ou la méthode printStackTrace de la classe Throwable.
Si la machine virtuelle Java rencontre une erreur interne, elle appelle son propre gestionnaire de signaux pour imprimer les informations relatives aux unités d'exécution et aux moniteurs.
mémoire de travail
La vue Mémoire de travail affiche les objets présents dans la mémoire de travail lors de l'exécution en mode RetePlus. Utilisez-la avec la vue Agenda pour vérifier que les règles se comportent comme prévu.
Cette vue peut afficher la valeur et le type des différents champs de chaque objet. Elle vous permet d'inspecter dynamiquement les objets objets à mesure qu'ils affectent les règles. Elle est très utile pour vérifier qu'une règle se comporte correctement. Par exemple, vous pouvez facilement vérifier le comportement des règles actuellement présentes dans l'agenda et qui utilisent une valeur spécifique.
Programme
La vue Agenda affiche les instances de règle dont l'exécution en mode RetePlus est programmée. Utilisez-la avec la vue Mémoire de travail pour déboguer rapidement vos applications.
Les valeurs affichées dans la vue Mémoire de travail sont actualisées à chaque mise à jour du moteur. La vue peut afficher la priorité d'une règle dans l'agenda et les objets qu'elle utilise. Utilisée conjointement avec la vue Mémoire de travail, elle constitue un moyen efficace de déboguer rapidement votre application.
Variables
La vue Variables affiche les noms des variables actuellement liées à une règle métier et les paramètres actuellement visibles dans le moteur.
Par exemple, si l'objet ShoppingCart est lié à une variable nommée ?shoppingCart dans l'une des règles, la vue Variables montre cette relation. Les valeurs affichées dans la vue Variables sont actualisées après l'évaluation de chaque expression.
Points d'arrêt
La vue Points d'arrêt affiche les points où l'exécution des règles marque un arrêt pour vous permettre d'examiner l'état des variables, l'agenda et la mémoire de travail.
Vous pouvez placer des points d'arrêt sur les éléments suivants :
Expressions de règle
Classes XOM et membres de classe
Objets dans la mémoire de travail
Vous pouvez placer des points d'arrêt dans les artefacts de règle suivants :
Règles BAL (dans la partie action)
Règles techniques
Tables de décision et arbres de décision (dans une cellule d'action)
Fonctions
Flux d'exécution de règles
Tâches de règle (dans l'éditeur de flux d'exécution de règles)
Mémoire de travail du moteur de règles (lors de l'exécution en mode RetePlus)
Modèle d'objet métier (BOM)
Code de mappage BOM-XOM
Console
La vue Console affiche les messages qui ont été envoyés au flux de sortie associé au moteur.
La Console affiche le texte suivant :
Sortie standard
Erreur standard
Entrée standard