# Launching Remote C/C++ Applications

The remote CDT launch Plugin builds on top of CDT and integrates with Eclipse remote framework (org.eclipse.remote) to introduce a "Remote C/C++ Application" launch configuration. This launch configuration relies on the shell and file services of the remote framework's connections.

The "Remote C/C++ Application" launch configuration enables the user to select from a list of connections which have the shell service available. For a debug launch, the binary is downloaded to the remote using the file service of the remote framework's connection, gdbserver is automatically started on the remote using the shell service and a gdb debug connection is establised. For a run launch, the binary is downloaded to the remote using the file service and then it is invoked using the shell service.

In the future, a file service should be used to select where the remote download should take place. Right now the remote path is entered manually in a text field.

## System Prerequisites

Local Host

- It is necessary to create an connection which has the file and shell services available.

Remote Host

- gdbserver is on the path.
- port 2345 is available to use. gdbserver will use this port.

## Using

A "Remote C++ Application" launch configuration will be available. After building a binary which will run on your remote, try using this configuration to run or debug it.

## Current Limitations

There is no way to tell when the command on the remote has finished running. As a result, the "Remote Shell" process will be left active after the debug session dies and needs to be terminated manually. The run process also needs to be terminated manually for the same reason.