Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Pleade Déboguer une application pleade-libre » : différence entre les versions
Aucun résumé des modifications |
|||
| (7 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 4 : | Ligne 4 : | ||
# éditer le fichier ''commons/xsl/pleade-aggregate.xsl'' et décommenter la partie DEBUG, ligne 270 | # éditer le fichier ''commons/xsl/pleade-aggregate.xsl'' et décommenter la partie DEBUG, ligne 270 | ||
# redémarrer tomcat | # redémarrer tomcat | ||
== Profiling / Suivre les routes v2 == | |||
[https://cocoon.apache.org/2.1/userdocs/concepts/profiler.html Doc Cocoon] | |||
Intégration pleade: | |||
# lancer le script profile.sh sur le ou les xmap des composants que l'on souhaite profiler. Ex: <pre>./profile.sh module-img-server/module-img-server.xmap</pre> | |||
# 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() | |||
Cf http://stackoverflow.com/questions/944991/is-there-a-way-to-dump-a-stack-trace-without-throwing-an-exception-in-java | |||
== Configurer Tomcat == | == Configurer Tomcat == | ||
Dernière version du 20 octobre 2015 à 14:16
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
[modifier | modifier le wikicode]- éditer le fichier commons/xsl/pleade-aggregate.xsl et décommenter la partie DEBUG, ligne 270
- redémarrer tomcat
Profiling / Suivre les routes v2
[modifier | modifier le wikicode]Intégration pleade:
- 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
[modifier | modifier le wikicode]URL de la forme:
/functions/sdx-terms.xml?field=ffiltre&value=iconographie&field=fgenreform
Passer l'héritage dans un cron
[modifier | modifier le wikicode]&inheritance-index=global
Afficher une stack trace Java
[modifier | modifier le wikicode]Aussi simple que:
Thread.dumpStack()
Configurer Tomcat
[modifier | modifier le wikicode]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
[modifier | modifier le wikicode]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.
En CLI
[modifier | modifier le wikicode]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
[modifier | modifier le wikicode]- 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.