Comment faire le débogage dans le cadre de jeu dans L'idée IntelliJ
Ici, nous avons un lien
http://www.playframework.org/documentation/1.0.1/ide
sur la façon de configurer playfram Framework pour travailler avec différents IDEs. Là, ils disent quelques mots sur le débogage, mais ce n'est pas clair - comment puis-je effectuer le débogage? Si je mets un point de rupture, disons dans la classe constructeur de mon modèle, alors comment et ce que je devrais lancer pour initialiser le débogage? J'utilise IntelliJ idée.
Par exemple quand j'utilise Jboss, ou Tomcat, il y a une option dans L'IDE de ces serveurs pour les exécuter en mode de débogage ou en mode "normal". Mais comment travailler avec Play Framework dans ce contexte? Dois-je configurer le débogage à distance?
9 réponses
lorsque vous lancez Play Framework (via jouer run) vous verrez que c'est dit que le port de débogage est en cours d'exécution à une certaine adresse. Il s'agit d'un comportement Java standard sur les serveurs (ayant un port de débogage activé).
la plupart des IDEs vous permettent de configurer une connexion à ce port distant pour que vous puissiez déboguer le code à distance. Les étapes spécifiques dépendra de l'IDE que vous utilisez, mais il devrait être aussi simple que cela.
la façon la plus commode d'exécuter/déboguer des applications dans l'idée intellij est la suivante.
commande Menu: Run - > modifier la Configuration!
ajouter une nouvelle configuration - > Application
Ensuite remplissez les champs:
classe Principale:
lecture.serveur.Le serveur
VM Paramètres:
- Dapplication.chemin.=
Vous devriez avoir quelque chose de similaire:
si vous l'avez fait correctement, alors vous pouvez exécuter et arrêter votre application directement à partir D'IDE
éditer pour jouer! 2
Play 2 a une bonne documentation pour le débogage. Alors, allez le lire. Mais si vous voulez enquêter sur la méthode des boutons run/debug - lire la suite.
c'est différent pour jouer 2.
Paramètres:
classe Principale:
lecture.core.serveur.NettyServer ou lecture.core.serveur.Pdserververtart
paramètres VM:
-Xrunjdwp:transport=dt_socket,serveur=y,suspendre=n,address=9999 -Dapplication.chemin.=
Vous pouvez déboguer votre application en appuyant sur bouton debug mais je n'ai pas compris certaines questions:
il démarre toujours en mode PROD, donc vous ne pouvez pas faire de changement de code.
RUNNING_PID. Il y a une erreur lorsque vous redémarrez votre session de débogage disant que vous devez supprimer ce fichier.
En Jouer 2, il suffit de faire ce qui suit:
- à Partir de l'interpréteur de commandes, exécutez
play debug
- vous serez placé dans la console de débogage. Type
run
et appuyez sur entrée. - puis créer une configuration à distance dans IntelliJ IDEA configuré pour "localhost" et 9999.
- Démarrer la nouvelle configuration
Si c'est un jeu de projet, à partir de la ligne de commande :
play debug
si C'est un projet de jeu SBT à partir de la ligne de commande :
sbt -jvm-debug 9999 run
le port de débogage est 9999 par défaut
maintenant, créez une configuration à distance
dans IntelliJ :
Allez dans "modifier run configurations"
créer une nouvelle configuration à distance (port 9999, tous les autres détails partent par défaut les valeurs)
exécutez la nouvelle configuration de débogage (n'oubliez pas de mettre un point d'arrêt)
j'ai dû changer cette ligne dans mon construire.sbt:
fourche en run := true
bifurcation in run: = false
pour que les points d'arrêt fonctionnent dans IntelliJ IDEA 15.0 avec la configuration D'exécution de L'application Play 2.
j'ai eu un problème similaire.
jouer (cloné à partir de github à 2011-08-28) et intellij 10.5
sévère: ne peut pas lire l'application.conf
ma solution était: - application.chemin.= (sans les "")
- Djavaagent=... n'était plus nécessaire sur ma boîte.
depuis la version 11 de IDEA, il y a un support natif pour le cadre de jeu dans l'édition ultime. Pour déboguer votre application lecture procédez de la manière suivante:
- à partir de la ligne de commande, créez une nouvelle application de démonstration en utilisant 'play new demoapp'
- à partir de la ligne de commande, créez des fichiers projet/module Intellij en utilisant 'play idea demoapp'
- éditer en option .si vous utilisez le dernier JDK (bug!)
- démarrer Intellij, et ouvrir le demoapp projet
- Aller Courir/Modifier la Configuration
- appuyez sur le bouton'+', et ajoutez une configuration' remote'
- Choisissez le Transport:socket en mode Debugger:Joindre l'Hôte:localhost, Port 8000
- Définir le " nom "et le" classpath-module'
- commencez la pièce! soutien du cadre dans L'idée en choisissant les outils / le cadre du jeu
- Démarrer l'application de démonstration en tapant 'play run play101' dans le jeu! console
- Définir un point de rupture dans l'Application.fichier java sur la ligne' render ()'
- démarrer la configuration de débogage' remote'.
- Dans un navigateur, accédez à http://localhost:9000
vous devriez maintenant atteindre le point de rupture.
avec un projet SBT, vous pouvez déboguer à partir du débogueur IDE avec un tâche SBT configuration ( exécuter - > modifier les Configurations - > ajouter une nouvelle Configuration - > tâche SBT) - avec le Tâches paramètre:
"exécuter 9000" "-jvm-debug 9999"
9000 est le port du site, 9999 est le port de débogage par défaut. Les devis sont obligatoires
puis sélectionnez la configuration & debug
fonctionne avec l'édition communautaire (2016.2)
ma réparation était: ouvrez la boîte de dialogue" Exécuter/déboguer les Configurations", puis changez le" répertoire de travail " en Répertoire de projet.