This page describes limitations that you may encounter when debugging
applications on WebSphere Application Server and suggested methods for working
around those limitations. Please also see the product readme, which may contain
additional limitations for this debugger.
Debugging Web objects
- Java™ communication timeout settings might need to be
increased before performing a debug on server: If you are having trouble
getting the debugger to connect to your application, you might need to increase
your Java debug
timeout settings. To determine if you are having this problem, check your <workspace>\.metadata\.log file
for the existence of org.eclipse.jdi.TimeoutException messages.
To increase the Java timeout settings, choose Window > Preferences from
the workbench menu bar. Expand the Java node and click Debug.
In the Debug preference page, increase both of the Communication timeouts
(Debugger timeout (ms) and Launch timeout
(ms) - it is recommended that you at least double the default
values for these two fields). If the timeout settings are not increased, the
debugger will hang when you perform a debug on server.
For applications
running on WebSphere® Application
Server Version 6.0 or later, you can then attempt to reconnect by right-clicking
the server in the Servers view, and selecting Reconnect
debug process from the pop-up menu.
- Source Not Found editor might close unexpectedly: In some cases,
the debugger Source Not Found editor, which provides
a button with which you can edit the source lookup path, might close unexpectedly.
To edit the source lookup path, right-click on an object in the Debug view
and select Edit Source Lookup from the pop-up menu.
- Step-by-step debug mode will fail for EJB home methods: If you
use the WebSphere Application
Server debug adapter to launch a debug session, step-by-step debug mode will
not stop for EJB home methods. Use breakpoints if you want to debug these
methods.
- Step return from Java back to JavaScript™ is not supported: Use
breakpoints if you want to be able to return back to your JavaScript code
from Java.
- Debugging JSP pages:
- When debugging JSP pages, EL (expression language) is not supported. For
example, you cannot step into a JSP line that contains EL.
- Step-by-step debug will not work for JSP pages that do not contain any
executable code.
- Inspecting and displaying JSP variables and expressions is not supported.
- Run to line is not supported in JSP pages.
- Setting JSP file breakpoints might be slow. If you have many JSP file
breakpoints, the debugger will take extra time to initialize.
- Breakpoints on static variables in JSP declaration blocks will not work
and might cause other breakpoint problems.
- Stack frame labels after hot swap: If, after a hot code replace,
some of the stack frames have labels like
<unknown receiving type>(<unknown declaring type>).<unknown method name>(<unknown arguments>) line: not available <unknown line number>
you can get the correct labels by switching to a different perspective and
then back to the Debug perspective.
- When debugging Java, you might receive a TimeoutException
error in the Console view. If this error message opens,
increasing the amount of time for debugger timeout can prevent the error.
To increase the amount of time for debugger timeout, select Window >
Preferences from the workbench menu bar to open the Preferences dialog
box. In this dialog box, open the Java node and select
the Run/Debug node. In the resulting Debug preference
page, increase the value of the Debugger timeout field
in the Communication section.
JSP Page Debugging:
- Breakpoints can be set in JSP files within the following tags:
- JSP scriptlets of the form: <% %>
- JSP expressions of the form: <%= %>
- JSP declarations of the form: <%! %>
- jsp:useBean, jsp:getProperty, and jsp:setProperty tags
- Custom tags
- Breakpoints cannot be set for the following tag sets:
- HTML code
- JSP directives
- All other standard JSP tags jsp:include, jsp:forward,
etc.)
- If you are migrating a workspace from an older version of WebSphere Studio
to this version then you will need to delete your JSP file breakpoints and
recreate them.
Hot Method Replace
- Changes to source that affect the shape of the class are not supported.
This means that changes to method bodies will be hot replaced, while these
are examples of changes that will not be hot replaced:
- changes to class structure, such as the removal/addition of methods
- modification of class variables
- changes to inner classes
- Changes to the code in the bottom stack frame (the main(...) method)
cannot be hot replaced.
- JSP page debugging does not support hot method replace of Java code.
Bidirectional (BIDI/BiDi) language limitations
You
will not be able to use the Debugger editor when debugging JSP files that
have been encoded in a codepage other than the native codepage.