Overview of Remote Debugging

From RAD Studio
Jump to: navigation, search

Go Up to Debugging Applications Index

This topic describes the old-style remote debugging solution, which has been superceded by the new multi-device and remote debugging solution. You can, however, continue to use the old-style procedures and debugger just as they are described here. To use the new debugging solution to debug a remote process, see Debugging Multi-Device Applications for information about the new multi-device and remote debugging solution.

Remote debugging enables you to debug one or more applications on a remote machine when the IDE is running only on your local machine. This allows debugging on a machine where it is impractical to install the entire IDE and rebuild a project. Remote debugging is useful for applications that run differently on your local machine than on an end user's machine.

Note: When debugging from a Windows machine to a remote Windows machine, you can get a PAClient error message saying the file can't be created because it is being used by another process. The suggested workaround is to deploy your <project>.rsm file to the remote machine. To do this, go to Project > Options > Delphi Compiler > Linking and set Include remote debugging symbols to True.

The Remote Debugger Executable

The remote debugger executable is named rmtdbg280.exe. The executable and its supporting files must be present on the remote machine. Use the Platform Assistant to install the remote debugger and the debugging files. For instructions, see PAServer, the Platform Assistant Server Application.

Local and Remote Files

Three types of files are involved in remote debugging:

  • Source files
  • Executable files
  • Symbol files


Source files are compiled using the IDE on the local machine. The executable files and symbol files produced after compilation must be copied to the remote machine.

Source Files

When you debug a project on a remote machine, the source files for the project must be open on the local machine. The source files display in the editor window to show a program's current execution point. You do not use source files on the remote machine.

Executable Files

Executable files are the .dll files and .exe files that are mapped into the application's address space. You generate these files on the local machine, then copy them to the remote machine.

Symbol Files

Symbol files are generated on the local machine at compile time. These are used by the debugger to get information such as the mapping of machine instructions to source line numbers or the names and types of variables declared in the source files. Delphi uses RSM files, C++ uses TDS files.

You must set up specific options to generate symbol files on the local machine, then copy the files to the remote machine.

Local and Remote Machines

To use remote debugging, you must be able to log on to the remote machine and you must have write access to at least one directory.

The remote debugger does not provide a mechanism for interacting with an application on the remote machine. If you need to interact with the application, you must establish a remote desktop connection:

See Also