Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-debug-dev] API Change planned for IVMConnector


This is a heads up that we intend to change the API on org.eclipse.jdt.launching.IVMConnector, for F3, in response to the following bug:

http://bugs.eclipse.org/bugs/show_bug.cgi?id=19569

The chane will only effect those that implement custom VM connectors for attaching to remote VMs. The change offers more flexibility to clients that establish VM connections, sepcifically, allowing the client to contribute any number of debug targets and processes to the resulting launch. This is similiar in style to the IVMRunner.  The old and new API follow.

OLD:

        /**
         * Establishes a JDI connection with a debuggable VM using the arguments
         * specified in the given map, and returns the resulting virtual machine.
         * The keys of the map are names of arguments used by this
         * connector (as returned by <code>#getDefaultArguments()</code>, and the
         * values are Strings representing the vales to use.
         * <p>
         * In addition, if this connector is being called from the standard
         * remote Java application launch configuration delegate, the map
         * contains an attribute which is the memento for the launch configuration
         * associated with this connection. This provides a connector with extra
         * information it may require. The launch configuration menento is keyed
         * by <code>IJavaLaunchConfigurationConstants.ID_REMOTE_JAVA_APPLICATION</code>.
         * </p>
         *
         * @param map argument map to use in establishing a connection
         * @param monitor progress monitor
         * @return virtual machine
         * @exception CoreException if unable to establish a connection with the target VM
         */
        public VirtualMachine connect(Map arguments, IProgressMonitor monitor) throws CoreException;


NEW:

        /**
         * Establishes a JDI connection with a debuggable VM using the arguments
         * specified in the given map, contributing results (debug targets and processes),
         * to the given launch.
         * The keys of the map are names of arguments used by this
         * connector (as returned by <code>#getDefaultArguments()</code>, and the
         * values are Strings representing the vales to use.
         * <p>
         * In addition, if this connector is being called from the standard
         * remote Java application launch configuration delegate, the map
         * contains an attribute which is the memento for the launch configuration
         * associated with this connection. This provides a connector with extra
         * information it may require. The launch configuration menento is keyed
         * by <code>IJavaLaunchConfigurationConstants.ID_REMOTE_JAVA_APPLICATION</code>.
         * </p>
         *
         * @param map argument map to use in establishing a connection
         * @param monitor progress monitor
         * @exception CoreException if unable to establish a connection with the target VM
         */
        public void connect(Map arguments, IProgressMonitor monitor, ILaunch launch) throws CoreException;



Darin

Back to the top