### Remote Debugging

Remote debugging lets you debug programs that are running on one system, using an IBM C and C++ debugger running on another system.

#### Why Use Remote Debugging

You might want to use remote debugging for the following reasons:

- The program you are debugging is running on another user's system, and is behaving differently on that system than on your own. You can use the remote debug feature to debug this program on the other system, from your system. The user on the system running that program interacts with the program as usual (except where breakpoints or step commands introduce delays). You interact with the debugger, but not with the I/O of the program being debugged.
- It is easier to debug an application that uses graphics or has a GUI when you keep the debugger user interface separate from the application's GUI. Your interaction (or another user's interaction) with the application occurs on the remote system, while your interaction with the debugger occurs on the local system.
- The program you are debugging was compiled for a platform that the debugger user interface does not run on. You can use the remote debug feature to take advantage of the debugger user interface while debugging the remote application

#### Supported Communications Protocols and Platforms

The debugger supports the TCP/IP protocol to establish the communications link between the debugger and a debuggee program running on different systems.

#### Limitations of Remote Debugging

Remote debugging imposes the following limitations:

- Halt is not supported when remote debugging.
- Browse is not available when prompted for a source file path.

Start the Debugger and the Remote Program