http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/20060513_toolbox.jpg/200px-20060513_toolbox.jpgOne of my friends asked how to debug a Servlet deployed on Java Application Platform SDK Update2. Debugging Servlet is no different than debugging any application on the Application Server. However searching on java.sun.com gave really old results. Top-level Search functionality is missing on glassfish.dev.java.net which hopefully will be fixed soon. Googling finally showed Debugging Applications but this is again command-line. So I decided to write a short blog describing the simple steps involved to debug a server-side application using NetBeans/GlassFish. Application Platform SDK Update2 contains Sun Java System Application Server 9.1 Beta2 which is equivalent to GlassFish V2 b41d.
  1. After you've installed GlassFish as 'Runtime' Server, then you need to start the Application Server in debug mode by right-clicking on the Server instance and selecting 'Start in Debug Mode'.

     
    http://blogs.sun.com/arungupta/resource/images/netbeans-glassfish-debug.png
  2. This starts the Application Server on debug port 9009 and you'll see something similar in your NetBeans IDE:

    http://blogs.sun.com/arungupta/resource/images/netbeans-glassfish-debug2.png
  3. The default web page when you browse your Web project is 'index.jsp'. However if you need to debug your own Servlet then you need to configure it as the default page by right-clicking on Project, selecting Properties, Run category and specify the relative URL of the Servlet as shown below ('/NewServlet' in this case):

    http://blogs.sun.com/arungupta/resource/images/netbeans-glassfish-debug6.png
  4. That's all it takes to configure GlassFish in debug mode using NetBeans IDE. Deploy your applications on GlassFish or Application Platform SDK and set up break points any where ever you like in your application code. To debug your Web project, the simplest way is to right-select your project and choose 'Debug Project' as shown below:

    http://blogs.sun.com/arungupta/resource/images/netbeans-glassfish-debug7.png

    If you created a default Servlet using NetBeans IDE, then you can set up breakpoint in 'processRequest' method and watch the debug output in 'Debugger Console', 'Local Variables', 'Call Stack' and much more.
http://blogs.sun.com/arungupta/resource/images/netbeans-glassfish-debug4.png

Check NetBeans Debugging Applications for more information.

Technorati: debugging netbeans glassfish