# Launching Remote C/C++ Applications

The RSE Remote CDT Plugin builds on top of CDT and integrates with RSE to introduce a "Remote C/C++ Application" launch configuration. This launch configuration relies on the shell and file services of the RSE connections.

The "Remote C/C++ Application" launch configuration enables the user to select from a list of RSE connections which have the shell service available. For a debug launch, the binary is downloaded to the remote using the file service of the RSE 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, an RSE 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 RSE 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.