Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/designs/debugger launch"

< PTP‎ | designs
(Debugger Initialization)
Line 13: Line 13:
 
Debugger initialization is performed on the client side of the debugger. It comprises the following steps:
 
Debugger initialization is performed on the client side of the debugger. It comprises the following steps:
  
# Compute the debugger arguments and save these to the launch configuration in the DEBUGGER_ARGS launch attribute.
+
# If port forwarding is enabled on the connection, a remote port will be forwarded to the debugger session port
# Verify that the debugger executable (as specified in the Debugger tab) exists on the target machine
+
# The debugger arguments are computed (including adding the remote port obtained in step #1) and these are saved to the launch configuration in the DEBUGGER_ARGS launch attribute
 +
# The debugger executable (as specified in the Debugger tab) is verified on the target machine. If the executable does not exist, an exception is thrown
  
 
=== Debug Job Submission ===
 
=== Debug Job Submission ===

Revision as of 15:32, 21 July 2011

Debugger Launch Process

In the following description, the term "debugger client" refers to the Eclipse client side of the parallel debugger. The term "sdm" or "debugger server" refers to the Scalable Debug Manager (SDM) or server side of the parallel debugger.

When the user hits the debug button, debug launch proceeds as follows:

  1. The debugger client is initialized
  2. The job is submitted by calling IResourceManager#submitJob()
  3. Optionally, debugger launch help actions are performed

Debugger Initialization

Debugger initialization is performed on the client side of the debugger. It comprises the following steps:

  1. If port forwarding is enabled on the connection, a remote port will be forwarded to the debugger session port
  2. The debugger arguments are computed (including adding the remote port obtained in step #1) and these are saved to the launch configuration in the DEBUGGER_ARGS launch attribute
  3. The debugger executable (as specified in the Debugger tab) is verified on the target machine. If the executable does not exist, an exception is thrown

Debug Job Submission

  1. The job is submitted with mode set to "debug". The command submitted is assumed to launch the debugger executable and supply the debugger arguments.

Debugger Launch Help

  1. If the RM has specified "needsDebuggerLaunchHelp" AND the job state changes to RUNNING, the following steps are performed:
  1. A routing file is created that contains the tuples (index, host, port) for each process. The host information is obtained from the IPJob#getProcessNodeId() method (the other values are computed). The routing file is assumed to be in a location that is accessible to all sdm processes.
  2. The sdm master process is launched on the target machine using an IRemoteProcessBuilder.

Back to the top