kuldeep0709 / appengine-maven-plugin

Automatically exported from code.google.com/p/appengine-maven-plugin
Apache License 2.0
0 stars 0 forks source link

Debug goal #6

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem
1. Adding a maven goal like appengine:debug 

What version of the product are you using? On what operating system?
1.7.4

Original issue reported on code.google.com by danial.farid@gmail.com on 24 Jan 2013 at 8:11

GoogleCodeExporter commented 9 years ago
What would you envision this goal to do?

Original comment by matts...@google.com on 19 Feb 2013 at 6:48

GoogleCodeExporter commented 9 years ago
Hmm, maybe there are other ways of connecting a debugger to a running local 
appengine server.
But I was looking for a goal to run the appengine server in debug mode so you 
could debug your code in your IDE (Eclipse).

Original comment by danial.farid@gmail.com on 19 Feb 2013 at 6:54

GoogleCodeExporter commented 9 years ago
Maybe just a wiki article to show "how to debug your code in Eclipse" would 
suffice.

Original comment by danial.farid@gmail.com on 19 Feb 2013 at 6:56

GoogleCodeExporter commented 9 years ago
This could should start the dev server with all the options prepared for 
debugging (attaching debugger - lets say default port 8000).

something like: mvn appengine:devdebug would be really could :).
This would save a lot of confusion. Currently available way as I am aware (as 
of version 1.7.5) is to include those debugging options manually.

Original comment by tadas.subonis@gmail.com on 20 Feb 2013 at 10:56

GoogleCodeExporter commented 9 years ago
Btw, would you be willing to accept patches? Any coding guidelines that 
submitter should be aware of?

Original comment by tadas.subonis@gmail.com on 20 Feb 2013 at 11:05

GoogleCodeExporter commented 9 years ago
@tadas I believe the normal Google contributor policy applies., which requires 
https://code.google.com/legal/individual-cla-v1.0.html for individuals, or a 
similar one for companies.

Original comment by antony.trupe on 25 Feb 2013 at 5:13

GoogleCodeExporter commented 9 years ago
@tadas: the jvmFlags property enables you to set debugging options:
<jvmFlags>
    <jvmFlag>-Xdebug</jvmFlag>
    <jvmFlag>-Xrunjdwp:transport=dt_socket,address=8000,server=n,suspend=y</jvmFlag>
</jvmFlags>

I think it is very IDE dependent in what way you want to start the server (with 
or without debugger).

E.g. a big problem in NetBeans is the fact, that the devserver isn't started 
via exec:exec or exec:java since these goals trigger the pattern matcher for 
java stacktraces.

A shortcut for enabling default debugging behavior might be useful anyway.

Original comment by ckul...@gmail.com on 9 Mar 2013 at 12:21

GoogleCodeExporter commented 9 years ago
First of all, I think you really mean "server=y" in the <jvmFlag> configuration.

Secondly, I think we can use Maven profiles to selectively enable debugging. 
Include the following in your pom.xml <profiles> section:

   <profile>
      <id>debug</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>${appengine.target.version}</version>
            <configuration>
              <jvmFlags>
                <jvmFlag>-Xdebug</jvmFlag>
                <jvmFlag>-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag>
              </jvmFlags>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

Now just add "-P debug" to your Maven command line to include the debug flags. 
Enabling this profile augments whatever other com.google.appengine 
configurations you have specified elsewhere in the POM.

Original comment by j...@jsawyer.net on 20 Apr 2013 at 11:30

GoogleCodeExporter commented 9 years ago
Following will debug in NetBeans 6.3 with the "unofficial" Maven GAE plugin 
version 0.9.6:

<plugin>
    <groupId>net.kindleit</groupId>
    <artifactId>maven-gae-plugin</artifactId>
    <configuration>
        <jvmFlags>
            <jvmFlag>-Xdebug</jvmFlag>
            <jvmFlag>-Xrunjdwp:transport=dt_socket,address=${jpda.address},server=n,suspend=y</jvmFlag>
        </jvmFlags>
        <wait>true</wait>
    </configuration>
</plugin>

No combination of JDPA settings seem to work with the official Maven Appengine 
plugin, i. e. neither log output nor breakpoints work. If 'server=y' it will 
complain with an exception.

Original comment by go...@vinkl.com on 7 Aug 2013 at 7:35