Before you start debugging a program you need to create a debug configuration. Different types of COBOL debug configurations are available for different types of debug sessions, but remote projects use the same debug configuration types as local projects - you just need to specify connection properties such as machine name and port number.
If you have developed a remote COBOL project on a machine using a local Eclipse installation and a remote UNIX machine running Micro Focus Enterprise Developer UNIX Components, use debug configurations in the same way as locally-developed projects. However, you do not need to start the cobdebugremote (or cobdebugremote64 for a 64-bit process) or identify a port for it to listen on, merely select the remote project in the debug configuration.
When debugging a remote program, the performance of the network, specifically the latency between the local and remote machines, will have an effect on the responsiveness of Eclipse. Whenever Eclipse has to show the new execution position, a number of messages are sent from the remote machine, over the network, to get the required information. The effect of this is that it can take a few seconds after a Step command is issued before Eclipse has updated the screen and is ready for the next command.
You can mitigate this delay by closing any unnecessary debug views. For instance, by closing the Expressions view and the Variables view, the number of messages that are sent is reduced, which allows Eclipse to update quicker.
Large programs can also suffer from a large delay the first time that the program is displayed in the debugger and an expression is evaluated. You can reduce this delay by following these steps:
<?xml version="1.0" encoding="utf-8" ?> <NativeDebuggerOptions> <DebugOption Option="REMOTECHECKER" Value="yes"/> </NativeDebuggerOptions>
You can debug local projects while running them on a remote machine, or while your local project interacts with applications running on a remote machine.
The remote machine can be a Windows or UNIX environment, with either the COBOL development system or Enterprise Server installed. The two systems must be networked using TCP/IP. You need to ensure that the remote machine has access to the debug symbol (.idy) files in your project, which are normally in the output directory of your project (a location specified in the build configuration). To do this, set up the project subdirectory on the local machine as a network share with the remote machine. Alternatively, you can copy or FTP the .idy files to a directory on the remote machine. You then need to configure the directory paths that are used to search for the application's .idy files.
Remote debugging of local projects is handled by the cobdebugremote (Windows) or cobdebugremote32 (UNIX) process (or cobdebugremote64 for a 64-bit process), located in $COBDIR/bin of the remote machine.
To enable remote debugging using a COBOL Application debug configuration, you need to have an X window implementation installed and running before you start to debug, so that the output of a remote application running on a UNIX machine can be viewed on your local machine. You do not need X window for other debug configuration types.
Micro Focus ViewNow X is provided as part of Enterprise Developer. See Installing X Windows on Windows in the Installation section. Find the ViewNow X documentation on the Micro Focus Infocenter.
If the remote machine is running behind a firewall but is accessible via SSH you need to use a proxy server to handle traffic to the remote machine. Enterprise Developer supports the SOCKS5 internet protocol. This enables you to route network traffic through SSH to the remote machine. To use SOCKS with a proxy server perform the following steps:
This opens the Edit Proxy Entry dialog box for the SOCKS schema.
If your proxy server is configured to request authentication you need to specify the details:
If you are going to use the COBOL Application debug configuration you also need to use SSH port forwarding to route X Server display to the local machine. This means you need to specify the remote machine port (rather than the local machine port) when specifying the display in the preferences:
See To create a connection to a remote UNIX host running behind a firewall for details of how to use SOCKS with PuTTY as the proxy server.