COBOL Enterprise Server

Use COBOL Enterprise Server to debug an application running on an enterprise server instance.

General tab

The General tab enables you to specify some general settings for the debug session:

COBOL Project
The project that will be used for the debug session.
Enterprise Server
Select the connection details for the enterprise server instance containing the application to debug. You can select one of the following:
  • Connection and Server: the name of the directory server node (Connection) and the instance (Server), as displayed in Server Explorer, on which to connect the debug session.
  • Kubernetes pod: the name of the Kubernetes pod on which to connect the debug session.
  • Localhost endpoint port: a port number on your local machine on which to connect the debug session.
Debugging type
To debug only a specific aspect of your application (for example, a particular step for a JCL application, or a particular transaction for a CICS application), select the tab corresponding to the application type and enter the specific details on which execution will break during debug. If you leave all the options blank, the entire application is debugged.
Debug Options
Use these options to further control the debugging process.
  • Only stop on breakpoints: select this option to prevent the debugger from being suspended for all transactions except breakpoints.
  • Enable reverse debugging: select this option to allow you to move forwards and backwards through the execution path whilst debugging.
    Note: You can only select this option if you have selected a project/program located on a platform that supports reverse debugging - see Reverse Debug and Live Recording for a list of supported platforms.
  • Program breakpoint on main entry point only: select this option to specify that a program breakpoint causes execution to stop only when the Procedure Division entry point is called. With this option unchecked, which is the default, a program breakpoint causes execution to stop on any entry point to the program and on return to the program from a call.

Source tab

The Source tab enables you to define a list of sources and locations required to run the application being debugged. Once you have selected a number of resources of the same type, you can use the Up and Down options to arrange the order in which the resources are searched.

Source Lookup Path
Enables you to specify the locations and order in which the debugger looks for source files.

Click Add to add locations:

COBOL Project
Select this option to choose the projects to search. Any folders and dependent projects specified on the Micro Focus > Build Path tab in the projects' properties is also searched.
Environment Variable
Select this option to select one or more variables that include the folders that must be searched.
File System Directory
Select this option to specify a specific file system folder to be searched that may exist outside the workspace.
Paths From Program Symbols Files
Select this option to enable the debugger to locate the source file using the path specified in the .idy file, this is the path stored when the program was compiled. The source file can be outside of the workspace and means that the project containing the source file does not need to be added to the source lookup.
Project
Select this option to enable folders in a specific project to be searched.
Working Set
Select this option to add the source lookup path for all the visible projects defined in a working set, see Working Sets.
Workspace
Select this option to search all folders within the current workspace.
Workspace Folder
Select this option to enable you to specify a specific folder within your workspace as a source lookup path.

Additionally, if the source location contains source files of the same name that you would like to search, select Search for duplicate source files on the path.

Common tab

The Common tab defines general aspects of the launch configuration.

Save As
A launch configuration is saved as an XML .launch file on disk. By default, if Local file is selected, this file is saved in the ${workspace_loc}/.metadata/.plugins/org.eclipse.debug.core/.launches directory, where ${workspace_loc} denotes the workspace location. If you want to share the launch configuration, select Shared file to make it visible for version control.
Display in favorites menu
Select the launch configuration type(s) to display this configuration on their favorites menu. Configurations displayed above the first delimiter on the drop list are favorites:

Launch configuration menu favorites

Encoding
Sets the encoding for the console allocated for this launch. If Default is selected, the launch will inherit the current text file encoding setting from the Workspace preference page. Alternatively, select Other and choose a different encoding.
Launch in background
Select this option to perform this configuration in the background.
Terminate child-processes if terminating launched process
Any child processes are terminated when the launch process terminates.

Debug Symbols tab

The Debug Symbols tab enables you to define a list of resources and locations that locate the debug symbols files required to debug the application. Once you have selected a number of resources of the same type, you can use the Up and Down options to arrange the order in which the resources are searched.

Debug Symbols Lookup Path
Enables you to specify the locations and order in which the debugger looks for debug symbols containers and files.

Click Add to add locations:

Environment Variable
Select this option to select one or more variables that include the folders that must be searched.
File System Directory
Select this option to specify a specific file system folder to be searched that may exist outside the workspace.
Project
Select this option to enable folders in a specific project to be searched.
Remote File System Directory
Note: This option is only available when debugging remote projects.
Select this option to specify debug symbols files from a remote file system folder located on a remote host. Use the Connection name field to select an existing connection to a remote host, or click New Connection and create a new connection, and then use the Remote path field to select the location of the symbols files on the host. Select Search subfolders if you want to search recursively through subfolders for required symbols files.
Workspace Folder
Select this option to specify a specific folder within your workspace that contains the required symbols files.

Once you have selected a number of resources of the same type, you can use the Up and Down options to arrange the order in which the resources are searched.

Note: Debug symbols containers length must not exceed 32,725 characters.

Containers tab

The Containers tab enables you to configure the container details if you plan to debug the application within a container. Select one of:

Run on machine where the project is located (default)
Specifies that the project is to use "build without containers" mode when debugging or running. See Different Ways of Building a Native COBOL Application in a Container for more information.
Use base stage from Dockerfile
Specifies that the project is to use "build on host" mode when debugging or running. See Different Ways of Building a Native COBOL Application in a Container for more information.
Container run parameters: parameters to pass to Docker when running the container. If the Use base stage from Dockerfile option is being used, you must include the -v parameter to volume mount the folder containing the project's build output to the relevant folder in the container file system.
Debug port: the port number that Visual COBOL uses to connect to the container in order to debug it.
Use project Dockerfile
Specifies that the project is to use "build in container" mode when debugging or running. See Different Ways of Building a Native COBOL Application in a Container for more information.
Note: When using the Use base stage from Dockerfile or Use project Dockerfile option, Visual COBOL creates a container for the debug or run operation then removes the container once the project finishes its execution.