Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Pleade Déboguer une application pleade-libre
Lors de l'utilisation de Apache HTTPd, l'application est accessible par des URLs du type http://pleade-libre.dev/, tandis que par Apache Tomcat, elle sera accessible via http://localhost:8080/pleade-libre/.
Suivre les routes
- éditer le fichier commons/xsl/pleade-aggregate.xsl et décommenter la partie DEBUG, ligne 270
- redémarrer tomcat
Suivre les routes v2
- lancer le script profile.sh sur le ou les xmap des composants que l'on souhaite profiler. Ex:
./profile.sh module-img-server/module-img-server.xmap
- Se logger dans l'application
- Naviguer dans le composant
- Consulter la page /profile.html
Regarder les index
URL de la forme:
/functions/sdx-terms.xml?field=ffiltre&value=iconographie&field=fgenreform
Passer l'héritage dans un cron
&inheritance-index=global
Afficher une stack trace Java
Aussi simple que:
Thread.dumpStack()
Configurer Tomcat
Pour rajouter le débogueur au serveur Apache Tomcat, on modifiera le fichier $HOME/.ajlsmrc pour rajouter dans la fonction flushAndRestart les lignes suivantes, avant la commande de démarrage (catalina.sh start):
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
Ensuite on modifiera la ligne de démarrage pour rajouter le paramètre jpda à la commande :
sh "$tomcatDir/bin/"catalina.sh jpda start
Configurer Eclipse
Dans Eclipse, on configurera de la manière suivante :
- Clic droit sur le projet (pleade-libre ou pleade-entreprise), Debug As -> Debug Configurations... ;
- Double-clic sur « Remote Java Application », et on configure :
- Host : localhost ;
- Port : 8000.
- Dans l'onglet « Source » on ajoutera les projets :
- pleade-libre ;
- sdx-ajlsm.
- On fini, en choississant pleade-libre dans la liste des applications à déboguer.
Notice :
Il faut que les sources Java et les fichiers JARs soient dans le Classpath de chaque projet avant de pouvoir déboguer l'application.
En CLI
Tout se résume à cette commande
rlwrap -f . -f tags -e "" jdb -attach localhost:PORT
les choses qui sont agréables à savoir pendant le débogage
- Pour voir l'HttpServletRequest actuelle, créer un expression comme ça (javax.servlet.http.HttpServletRequest)objectModel.get(org.apache.cocoon.environment.http.HttpEnvironment.HTTP_REQUEST_OBJECT)
- Si tu veut trouver le requestURI pendant le débogage, créer un expression comme ça ((javax.servlet.http.HttpServletRequest)objectModel.get(org.apache.cocoon.environment.http.HttpEnvironment.HTTP_REQUEST_OBJECT)).getRequestURI()
- Si vous souhaitez savoir quels XSP est sur le point d'être analysé, mets un breakpoint dans ServerPagesGenerator.java dans cocoon source, ligne 228, et mets un breakpoint avec un expression comme ça generator.source ou comme ça ((javax.servlet.http.HttpServletRequest)objectModel.get(org.apache.cocoon.environment.http.HttpEnvironment.HTTP_REQUEST_OBJECT)).getRequestURI() + "?" + org.apache.commons.lang.StringUtils.trim(((javax.servlet.http.HttpServletRequest)objectModel.get(org.apache.cocoon.environment.http.HttpEnvironment.HTTP_REQUEST_OBJECT)).getQueryString()) + "\\n XSP: " + generator.source
- Si vous avez un erreur qui dit «Resource not found.» dans les logs de cocoon avec un fichier .xmap, Mettre un breakpoint sur le ligne 454 de SourceUtil.java dans les sources de cocoon pour voir le vrais problem.