# Recherche d'erreurs

A partir de la version 7.00.024, il existe un débogueur pour ELOas. C'est la Debug Engine se trouvant dans la Rhino Engine qui est utilisée. Elle peut être activée par le biais d'un paramètre de configuration.

<entry key="debug">true</entry>

Débogueur pour ELO Automation Services

Illustr. : ELO Automation Services Debugger

Pour exploiter le débogueur, ELOas doit être exécuté de façon locale sur la machine de développement. Par ailleurs, il doit être démarré en tant que processus de console et non pas en tant que service Windows. Sinon, le débogueur ne fonctionne plus sous Windows Vista ou Windows 7.

Si vous avez plusieurs rulesets actifs, il existe une propre fenêtre de débogage pour chaque ruleset. Vous pouvez basculer entre les différents affichages par le biais de l'entrée de menu Window.

Dans le débogueur, vous pouvez placer les breakpoints sur les différentes fonctions et inspecter ou modifier les contenus des variables. Vous pouvez poursuivre l'exécution avec une étape individuelle ou dans un mode d'exécution.

Propriétés de Apache Tomcat

Illustr. : propriétés de Apache Tomcat

# Erreur de syntaxe dans le script

Si le script contient une erreur de syntaxe, alors le traitement JavaScript ne peut pas être démarré. Ces erreurs ont l'avantage d'être visibles directement lors du démarrage du programme et de pouvoir être affichées dans le dialogue de statut de ELOas.

Erreur de syntaxe dans le script

Illustr. : erreur de syntaxe dans le script

Pour simplifier la recherche d'erreurs, le programme JavaScript complet est pris en compte dans le rapport ELOas, avec tous les modules intégrés. Le numéro d'erreur affiché sous forme de liste se réfère à ce paragraphe du rapport (à partir de "//Import the IndexServer API classes").

14:28:07,681 DEBUG (WorkingSet.java:368) - load JavaScript Templates,
        Parent GUID=(23594D10-4704-4FF9-938B-136792051D67)
14:28:07,744 DEBUG (WorkingSet.java:385) - Script file found: Base Templates
14:28:07,744 DEBUG (WorkingSet.java:385) - Script file found: Imports
14:28:07,744 DEBUG (WorkingSet.java:385) - Script file found: ELO Utils
14:28:07,759 DEBUG (WorkingSet.java:385) - Script file found: DB Access
14:28:07,759 DEBUG (WorkingSet.java:385) - Script file found: Document Export
14:28:07,759 DEBUG (WorkingSet.java:385) - Script file found: Dummy Modul mit
                                           Namenskonflikt
14:28:07,759 DEBUG (WorkingSet.java:276) - loadItems,
        Parent GUID=(9DAC7E8D-1467-4820-B53B-D27CCB5F06C0)
14:28:07,822 DEBUG (WorkingSet.java:286) - Number of Child entries: 1
14:28:07,822 DEBUG (WorkingSet.java:304) - Ruleset: MailRule1
14:28:08,025 DEBUG (WorkingSet.java:472) -
//Import the IndexServer API classes.
importPackage(Packages.de.elo.ix.client);
importPackage(Packages.java.lang);
importPackage(Packages.java.sql);
importPackage(Packages.sun.jdbc.odbc);
importPackage(Packages.java.io);
var NAME;
var ARCDATE;
var DOCDATE;
var OBJCOLOR;
var OBJDESC;
var OBJTYPE;
var ARCHIVINGMODE;
var ACL;
var EM_PARENT_ID;
var EM_PARENT_ACL;
var EM_NEW_DESTINATION = new Array();
var EM_FIND_RESULT = null;
…

Veillez à ce que cette sortie soit répétée à chaque redémarrage et lors du rechargement. Plusieurs listes peuvent se trouver dans un fichier de rapport. C'est toujours la dernière liste du rapport qui est actuelle.

# Erreurs logiques et erreurs runtime

C'est un peu plus difficile lors des erreurs runtime. La seule possibilité est de limiter l'endroit où se trouve l'erreur en s'appuyant sur les sorties log. Cette sortie de log est beaucoup moins pratique qu'un débogueur interactif, mais présente de nombreux avantages lors d'un traitement important. Le Java Logger de ELOas est accessible sur la page JavaScript sous le nom log. Le code JavaScript peut être effectué avec les entrées log.debug().

var cmd = "SELECT * FROM objekte where objid = 22"
var res = getLine(1, cmd)
log.debug(res.objshort)
log.debug(res.objidate)
log.debug(res.objguid)

Les sorties log du code JavaScript sont reconnaissables au nom de la classe manquante et au fait que le numéro de la ligne manque dans le rapport.

15:38:57,643 DEBUG (?:?) - Now init JDBC driver
15:38:57,659 DEBUG (?:?) - Get Connection
15:38:57,659 DEBUG (?:?) - Init done.
15:38:57,659 DEBUG (?:?) - createStatement
15:38:57,659 DEBUG (?:?) - executeQuery
15:38:57,659 DEBUG (?:?) - read result
15:38:57,659 DEBUG (?:?) - getLine done.
15:38:57,659 DEBUG (?:?) - Suchen geändert.
15:38:57,659 DEBUG (?:?) - 56666880
Dernière mise à jour: 26 septembre 2023 à 07:46