This section describes methods for remote debugging and testing of projects.
In order to debug the Lotus® Expeditor platform, you will need to launch it using specific debug options. You can launch using either a Debug Launch Configuration from the Client Services launcher in the toolkit, or by using the command line.
To launch a Lotus Expeditor platform using Client Services launch configuration in the toolkit, create a Launch Configuration as described in Client Services Launcher
. Be sure to use the Run > Debug Configurations…
Using the Debug Launch Configuration is the easiest way to launch and debug a platform, and perform debugging tasks. If you choose not to use a Debug Launch Configuration from the toolkit, you can also launch the Lotus Expeditor platform for debugging using the command line.
The instance of the separately installed Lotus Expeditor platform uses a technology known as Shared Classes to improve runtime performance and reduce memory footprint. Shared Classes are cached dynamically during platform operation. However, the default configuration caches the Shared Classes without debug information. This can inhibit the ability to set breakpoints.
To disable Shared Class support, remove the vmarg.Dshare=-Xshareclasses....
line in the jvm.properties
file. See ../com.ibm.rcp.tools.doc.admin/updatingjvmproperties.html for more information. Once the debugging activities are completed, ensure you reenable the Shared Class support to take advantage of the performance improvements.
To launch the platform for debugging, add the following parameters to the Lotus Expeditor launch command line, where zzzz
is an available port on your system:
-vmargs -Xss512k -Xdebug -Xnoagent -Xdbg:transport=dt_socket,server=y,address=zzzz
The platform will start and wait for the debugger to connect before continuing with the launch. If the port selected is unavailable, the platform continues to launch, and the debugger will be unable to connect.
In the Eclipse based IDE, select Debug…
, then create a new Remote Java Application launch configuration. Enter the name of any project, and select a Connection Type of Standard (Socket Attach)
. For the Connection Properties, you can use localhost
as the host (or supply the IP address or host name for a remote system), and specify the same port number as you specified when launching the Lotus Expeditor platform.
Warning dialogs in the debugger with messages stating 'Unable to install breakpoint in <classname> due to missing line number attributes
' indicate that debugging attributes are not available in the classes you are attempting to debug. There are two possibilities:
- The class does not actually contain debug information. If you have just exported the plug-in containing the class, check the Java compiler preferences (Window > Preferences > Java > Compiler) and verify that variable, line number, and source file attributes used by the debugger are all selected.
- Shared Classes are being used to load class files, and do not contain debug information. Refer to the steps above to adjust your launch configuration.
Parent topic: Debugging and testing applications: XPD621