Show: Delphi C++
Establishing a Connection for Remote Debugging
From RAD Studio XE2
Note: This topic describes how to establish a connection for running the old-style remote debugger.You must establish a TCP/IP connection between the local and remote machines in preparation for remote debugging. This connection uses multiple ports that are chosen dynamically by Windows. The remote debug server listens on one port, and a separate port is opened for each application that is being debugged. A firewall that only allows connections to the listening port will prevent the remote debugger from working.
Note: The new remote and cross-platform debugging solution uses the Platform Assistant and a remote profile. Although the old-style remote debugging solution is still supported, we recommend that you use the new-style solution (using the Platform Assistant and a remote profile), which enables you to:
- Use the integrated debugger to debug both remote and cross-platform applications.
- Use the Deployment Manager to configure and deploy your applications.
Note: If the remote machine uses the firewall included with Windows XP service pack 2, you will receive a message asking whether Embarcadero remote debugging service should be allowed. You must indicate that this is allowed.
Warning: The connection between RAD Studio and the remote debug server is a simple TCP/IP socket, with neither encryption nor authentication support. Therefore, the remote debug server should not be run on a computer that can be accessed over the network by untrusted clients.
To connect the local machine and the remote machine
- Ensure that the remote debugger is installed on the remote machine. See Installing a Debugger on a Remote Machine.
- Ensure that the executable files and symbol files (.tds. .rsm and .pdb) have been copied to the remote machine. See Installing a Debugger on a Remote Machine .
- On the remote machine, start rmtdbg<nnn>.exe with the -listen argument.
- rmtdbg<nnn>.exe -listen.
- This starts the remote debugger's listener and directs it to wait for a connection from your host machine's IDE.
- On the local machine, choose Run > Attach to Process. This displays the Attach to Process dialog.
- Specify the host name or TCP/IP address for the remote machine, then click Refresh. A list of processes running on the remote machine is displayed. This verifies the connectivity between the local and remote machines.
- On the local machine, choose Run > Load Process > Remote . This displays the Load Process Remote page.
- In the Remote path field, specify the full path for the directory on the remote machine into which you copied the executable files and symbol files. The name of the executable must be included. For example, if you are debugging a program1.exe, and you copy this to a directory named RemoteDebugFiles\Program1 on the remote machine, specify:
- In the Remote host field, specify the host name or TCP/IP address for the remote machine.
- Click the Load button. This connects the IDE on the local machine to the debugger on the remote machine.
After this connection is established, you can use the IDE on the local machine to debug the application as it runs on the remote machine.
Note: You can neither see your remote application on the local machine, nor interact with it directly from the local machine, using only the Remote Debugger. For interactive debugging, establish a Remote Desktop Connection using any available remote-desktop software package, including those built into Windows (Remote Desktop) or other third-party remote-control software such as VNC or PC-Anywhere. For more information, see Overview of Remote Debugging#Local and Remote Machines.