The properties you specify on the
Debug page of the project properties apply to the selected configuration.
Each project template comes with a specific set of debug properties which are most relevant for the type of application it
produces. This topic lists all of the debug properties available in the
Enterprise Developer projects. The ones available in a specific project template are depend on the type of application.
- Profile
- The debug profile stores a specific set of properties which specify how to start debugging the application. You can specify
various details such as what to run (such as an executable, or an
.int file, or a browser), whether to launch the application on a local or a remote machine, and how the debugger should attach
(such as start a process or wait for an attachment).
- A project can have multiple debug profiles which you can create with the
New button.
Debug properties for native COBOL and
.NET COBOL projects
Launch:
- Project
- Specifies that the project is to be debugged by launching its output.
For projects that compile to multiple output files (.exe, .int or .gnt), you can specify which output file should be launched.
You can only choose a file generated by the build in the directory specified in the
Output field. Your choice is saved in the project properties.
Note: This setting does not apply to
.NET COBOL class library projects that build to multiple .dll files. For these project types, you must specify a different start action.
- Executable
- The path to a file to be debugged. You can specify a path relative to the project directory.
This setting is typically used when your application is a library.
The following setting is only available for native COBOL projects:
- Wait for debuggable attachment
- The debugger waits for the program to start in a separate process before attempting to attach to it. Check this if you need
to manually launch your process. You can set the following options:
- Wait for any program - waits for and then attaches to the next COBOL program that calls CBL_DEBUGBREAK, or is launched with the COBSW environment
variable set to +A.
- Wait for directory - waits for and then attaches to the next COBOL program that is launched with its working directory set to either the folder
specified in
Working Directory, or a subfolder of it. If no working directory is specified then the project output path is used.
- Wait for ID - waits for and then attaches to the next COBOL program which calls CBL_DEBUG_START with the identifier you specify in the
ID field as an argument. You set the identifier in the source code - see
CBL_DEBUG_START.
- Launch Browser
- Starts debugging by opening a web page.
The following start options are available:
- Application Arguments
- Program arguments to be passed.
- Working Directory
- The directory from which the program is launched.
Note: If
Launch is set to
Wait for debuggable attachment, then the path you specify in this field is used with the
Wait for directory option.
- Use remote machine
- Check this to enable remote debugging. Specify the remote machine by entering its name over the network or its IP address
in the adjacent field.
- Port
- Specify the port number that is used by the
cobdebugremote or
cobdebugremote64 process.
Debug options:
The following properties apply to native COBOL projects only:
- Enable multiprocess debugging
- If the process you debug starts a new process using the CBL_EXEC_RUN_UNIT call, this setting allows the new process to be
debugged in a separate instance of Visual Studio.
- Return to waiting state when debugging
- Check this to enable debugging of CGI programs when invoking them multiple times.
The following properties apply to
.NET COBOL projects only:
- Enable SQL Server debugging
- Enables the Microsoft SQL debugger.
- Enable mixed mode debugging
- Check this to enable debugging of C/C++ code alongside .NET code.
- Redirect standard output
- Value of true or false, to determine whether or not standard output (such as System.Console.WriteLine) should be redirected
to the debugger's output window. For Console projects, this is initially set to False, and for Windows projects it is initially
set to true.
Note: This feature does not work for 64-bit applications and on 64-bit machines it is supported only by a x86 platform type.
- Disable Windows authentication for remote debugging
- Check this if you want to avoid having to provide credentials when connecting to the remote debugger. You need to ensure that
the remote debugger is also configured to run without Windows Authentication. This can be useful in scenarios where it is
not possible to set up the required credentials.
Warning: Enabling this option in the remote debugger makes your remote machine accessible to other users on the network.
Debug profiles for Docker environments
- Project (Docker)
- Choose this profile to debug the project output within a Docker container. When you start debugging, Visual Studio will start
the Docker container, launch the project output inside the container, and then debug it.
- Executable (Docker)
- Enables you to specify the path to the executable that you want to launch when debugging a Docker container. When you start
debugging, it will start up the Docker container, launch the specified executable inside the container, and then debug it.
Debug properties for native applications that require Enterprise Server to run
Specify whether to launch a Web service or a core dump file:
- Web Service
-
- Client IP
- Leave this field empty to enable debugging from any IP address. Specify an IP address to allow debugging only from it.
- Service Name
- Specify the address of the web service to debug. Enter the address and any specific operation that is part of the web service
in the following format -
http://namespace/ServiceName#OperationName
- Core Dump
- Specify the name and the path to the core dump file to use for debugging your application.
Debug properties for native Mainframe Subsystem projects
The following debug properties apply only to native Mainframe Subsystem applications that run on an enterprise server instance.
They are only available for the native Mainframe Subsystem Application project type.
Set
Launch to the type of application you want to debug (CICS, JCL, or IMS), a Web service, or a coredump file:
- CICS
-
- User
- The CICS user id used to start the application.
- Terminal
- The CICS terminal id used to start the application.
- Transaction
- The CICS transaction for the application.
- Link-level program
- The CICS invoked program at which to start debugging.
- IMS
-
- User
- The user id to be used when debugging this application.
- Terminal
- The logical terminal ID to be used when debugging this application. This is the eight-character name of the TN3270 connection
within Enterprise Server that is either allocated dynamically or specified by the TN3270 client emulator.
- Transaction
- The transaction to be used when debugging this application.
- Top-level program
- The start program to be used when debugging this application.
- JCL
-
- Job name
- The name of the job.
- Job number
- The number of the job in the held queue.
- Step name
- The step that you want to debug.
- Top-level program
- The program id of the program that you want to debug.
- Web Service
-
- Client IP
- Leave this field empty to enable debugging from any IP address. Specify an IP address to allow debugging only from it.
- Service Name
- Specify the address of the web service to debug. Enter the address and any specific operation that is part of the web service
in the following format -
http://namespace/ServiceName#OperationName
- Core Dump
- Specify the name and the path to the core dump file to use for debugging your application.
Debug properties for ES.NET Mainframe Subsystem projects
The following debug properties apply only to
.NET COBOL applications that run in Enterprise Server for .NET. They appear on the
Debug page of the ES.NET Mainframe Subsystem Application project type.
Set
Launch to the type of application you want to debug - CICS or JCL:
- CICS
-
- User
- The CICS user id used to start the application.
- Terminal
- The CICS terminal id used to start the application.
- Transaction
- The CICS transaction for the application.
- JCL
-
- User
- User ID used to start the application.
- Job class
- The class of the job.
- Job name
- The name of the job.
- Job number
- The number of the job in the held queue.
- Enable SQL Server Debugging
- Enables the Microsoft SQL debugger.
Note: The controls displayed on the properties page are determined by the type of project you are working on. As a result, some
of the controls described here might be missing from your properties page or be unavailable for selection.