Il y a beaucoup de messages à ce sujet, les instructions sont directement en avant, mais pour la vie de moi, je ne peux pas obtenir le débogueur pour s'arrêter aux points d'arrêt.
Mon environnement est P>
I Lancez Activator comme suit P>
import WebKeys._ // TODO Replace with your project's/module's name name := """play-angular-require-seed""" // TODO Set your organization here; ThisBuild means it will apply to all sub- modules organization in ThisBuild := "your.organization" // TODO Set your version here version := "2.3.7-SNAPSHOT" // Scala Version, Play supports both 2.10 and 2.11 //scalaVersion := "2.10.4" scalaVersion := "2.11.4" lazy val root = (project in file(".")).enablePlugins(PlayScala) // Dependencies libraryDependencies ++= Seq( filters, cache, // WebJars (i.e. client-side) dependencies "org.webjars" % "requirejs" % "2.1.14-1", "org.webjars" % "underscorejs" % "1.6.0-3", "org.webjars" % "jquery" % "1.11.1", "org.webjars" % "bootstrap" % "3.1.1-2" exclude("org.webjars", "jquery"), "org.webjars" % "angularjs" % "1.2.18" exclude("org.webjars", "jquery") ) // Scala Compiler Options scalacOptions in ThisBuild ++= Seq( "-target:jvm-1.7", "-encoding", "UTF-8", "-deprecation", // warning and location for usages of deprecated APIs "-feature", // warning and location for usages of features that should be imported explicitly "-unchecked", // additional warnings where generated code depends on assumptions "-Xlint", // recommended additional warnings "-Ywarn-adapted-args", // Warn if an argument list is modified to match the receiver "-Ywarn-value-discard", // Warn when non-Unit expression results are unused "-Ywarn-inaccessible", "-Ywarn-dead-code" ) // // sbt-web configuration // https://github.com/sbt/sbt-web // // Configure the steps of the asset pipeline (used in stage and dist tasks) // rjs = RequireJS, uglifies, shrinks to one file, replaces WebJars with CDN // digest = Adds hash to filename // gzip = Zips all assets, Asset controller serves them automatically when client accepts them pipelineStages := Seq(rjs, digest, gzip) // RequireJS with sbt-rjs (https://github.com/sbt/sbt-rjs#sbt-rjs) // ~~~ RjsKeys.paths += ("jsRoutes" -> ("/jsroutes" -> "empty:")) //RjsKeys.mainModule := "main" // Asset hashing with sbt-digest (https://github.com/sbt/sbt-digest) // ~~~ // md5 | sha1 //DigestKeys.algorithms := "md5" //includeFilter in digest := "..." //excludeFilter in digest := "..." // HTTP compression with sbt-gzip (https://github.com/sbt/sbt-gzip) // ~~~ // includeFilter in GzipKeys.compress := "*.html" || "*.css" || "*.js" // excludeFilter in GzipKeys.compress := "..." // JavaScript linting with sbt-jshint (https://github.com/sbt/sbt-jshint) // ~~~ // JshintKeys.config := ".jshintrc" // All work and no play... emojiLogs fork in run := true
3 Réponses :
suspension = y rend votre serveur en attente d'être attaché. il pourrait être
Merci de réponse - Malheureusement, cela n'a pas aidé. Les options JVM sont signalées n'importe où que je pouvais trouver, j'ai donc modifié le script d'activateur et l'option suspendre = n. Je peux le voir avoir effet car le serveur attend alors que le débogueur commence. Mais le débogueur ne s'arrête toujours pas aux points de rupture. Pour la complétude, le script d'activateur semble ajouter ces options -Xdebug -xrunjdwp: transport = dt_socket, serveur = y, suspendre = n, adresse = 1 $.
Essayez de remplacer dans le script: -xdebug -xrunjdwp: tnsport = dt_socket, serveur = y, suspendre = N par: -AGentLib: jdwp = transport = dt_socket, serveur = y, suspendre = y, suspendre =
Malheureusement, cela n'a pas aidé. Le débogueur toujours attaché au processus, mais ne s'est toujours pas arrêté à des points de rupture.
Le commentaire Kris a la réponse! Supprimer la fourche à l'exécution de la build.sbt ou définissez-la sur FALSE. Je ne suis pas sûr s'il y a des conséquences en aval. P>
Cela devrait entrer dans la documentation - je me battais pendant des heures. Merci!
Cela devrait être la réponse :)
ne fonctionne pas pour moi. Je crée un projet Vanilla Scala Play Ajout de cela sur la configuration redémarré tout et connectés le débogueur ... souffle encore par tout point d'arrêt encore.
Les points d'arrêt peuvent également être manqués lorsque votre application Scala ne suit pas toujours la relation unique de Java entre l'emballage et la structure de répertoires. P>
a été mordu par cela aujourd'hui avec une application de jeu de jeu. Par les contrôleurs de la Convention, les contrôleurs vivent dans le paquet Comme avec l'OP, malgré la documentation directe, rien n'a fonctionné, le débogueur n'irait jamais un point d'arrêt. Une fois que j'ai déplacé le contrôleur de test dans un répertoire correspondant à la mise en page de l'emballage, voila, point de rupture Hit! P>
Pour ceux qui n'utilisent pas d'activateur, cela démarrera une session de débogage SBT: p>
puis exécutez Exécuter> Configurations de débogage P> Li>
Ajouter une nouvelle application Java à distance P> Li>
Choisissez Standard (Socket Fixation) ou Scala Debugger (Socket Fixation) P> LI>
hôte: localhost et port: 9999 p> li>
Cliquez sur Appliquer; Puis cliquez sur débogage p> li>
ul>
Si tout se passe bien, lorsque vous visitez un contrôleur avec un point d'arrêt placé quelque part dans sa chaîne de dépendance, le point d'arrêt doit être touché, vous permettant ainsi de passer à travers le code comme prévu. P> contrôleurs code>. Comme le projet a grandi, il a été refacturé dans plusieurs sous-projets différents. Donc,
contrôleurs code> est resté mais le package a été modifié par
contrôleurs de package.foo code>, qui fonctionne bien dans Scala. P>
java -debug -agentlib: jdwp = transport = dt_socket, serveur = y, suspendre = n, adresse = 9999 -jar ~ / bin / sbt-launk.jar "$ @" code> p>
exécuter code> dans la console de lecture. Basculez sur Eclipse et sélectionnez: P>
Pourriez-vous nous montrer votre build.sbt?
Vous pouvez essayer
keys.fork in test: = false code> dans votre build.sbt, à côté de
Fork en exécution: = true code>.
Supprimer 'Fork in Run = TRUE' ou le réglez sur FALSE dans la construction.sbt corrigé le problème!