You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+66-20
Original file line number
Diff line number
Diff line change
@@ -6,16 +6,25 @@
6
6
7
7
# Debugger for Mainframe
8
8
9
-
Debugger for Mainframe provides a debugging interface for [CA InterTest™ for CICS](https://www.broadcom.com/products/mainframe/devops-app-development/testing-quality/intertest-cics) and [CA InterTest™ Batch](https://www.broadcom.com/products/mainframe/testing-and-quality/intertest-batch). This extension provides a modern debugging experience for CICS and Batch programs written in COBOL.
9
+
Debugger for Mainframe provides a debugging interface for [InterTest™ for CICS](https://www.broadcom.com/products/mainframe/devops-app-development/testing-quality/intertest-cics) and [InterTest™ Batch](https://www.broadcom.com/products/mainframe/testing-and-quality/intertest-batch). This extension provides a modern debugging experience for CICS and Batch programs written in COBOL and High-Level Assembler Language (HLASM).
10
10
11
11
> How can we improve Debugger for Mainframe? [Let us know on our Git repository](https://github.com/BroadcomMFD/debugger-for-mainframe/issues)
12
12
13
-
Debugger for Mainframe is also part of [Code4z](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.code4z-extension-pack), an all-round package that offers a modern experience for mainframe application developers, including [HLASM Language Support](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.hlasm-language-support), [COBOL Language Support](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.cobol-language-support), [Explorer for Endevor](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.explorer-for-endevor) and [Zowe Explorer](https://marketplace.visualstudio.com/items?itemName=Zowe.vscode-extension-for-zowe) extensions.
13
+
Debugger for Mainframe is also part of [Code4z](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.code4z-extension-pack), an all-round package that offers a modern experience for mainframe application developers, including extensions for language support, data editing, testing, and source code management.
14
+
15
+
## Compatibility
16
+
17
+
Debugger for Mainframe is supported on Visual Studio Code and Github Codespaces.
18
+
19
+
We recommend the use of [Zowe Explorer](https://marketplace.visualstudio.com/items?itemName=Zowe.vscode-extension-for-zowe) to access mainframe data sets in connection with your debugging sessions. Zowe Explorer is available as part of the Code4z package.
20
+
21
+
<ahref="https://www.openmainframeproject.org/all-projects/zowe/conformance"><imgalt="This extension is Zowe v2 conformant"src="https://artwork.openmainframeproject.org/other/zowe-conformant/zowev2/explorer/color/zowe-conformant-zowev2-explorer-color.png"width=20%height=20% /></a>
14
22
15
23
## Prerequisites
16
24
17
25
### Server
18
-
- CA InterTest for CICS and/or CA InterTest Batch, incremental release 11.0.07 or higher.
26
+
- InterTest for CICS and/or InterTest Batch, incremental release 11.0.07 or higher.
27
+
- Acquire and install PTFs LU08488, LU08046, LU06771, LU08177, and LU08307.
- To use Debugger for Mainframe to debug CICS programs, ensure that you complete the tasks in the sections "Activation of the IP CICS Sockets" and "Set Up an IRC Connection" on the linked page when you configure your Testing Tools Server instance.
21
30
@@ -27,18 +36,20 @@ Debugger for Mainframe is also part of [Code4z](https://marketplace.visualstudio
27
36
28
37
### IDE
29
38
30
-
Debugger for Mainframe is supported on Visual Studio Code and Eclipse Che.
39
+
Debugger for Mainframe is supported on Visual Studio Code version 1.67.0 and above.
31
40
32
41
## Using Debugger for Mainframe
33
42
34
-
To debug CICS and Batch programs with Debugger for Mainframe you open the workspace in your IDE and configure your connection to CA InterTest using the file `launch.json`.
43
+
To debug CICS and Batch programs with Debugger for Mainframe you open the workspace in your IDE and configure your connection to InterTest using the file `launch.json`.
35
44
36
45
Debugged files are temporarily saved in the workspace within the ```/.c4z/.extsrcs``` folder.
37
46
38
47
To debug Batch programs, you also convert the JCL of your program into a new file which is used for debugging.
See [this video](https://www.youtube.com/watch?v=f6ZxwALSb_Y&ab_channel=Educate) for a step-by-step walkthrough of CICS debugging using Debugger for Mainframe.
52
+
42
53
### Getting Started
43
54
44
55
To start debugging programs in your IDE, you first create a `launch.json` file within your workspace.
@@ -53,13 +64,13 @@ To start debugging programs in your IDE, you first create a `launch.json` file w
53
64
3. In the sidebar, click **create a launch.json file**.
54
65
A list of configurations displays.
55
66
56
-
4. Select either **Debugger for Mainframe: CA INTERTEST™ FOR CICS** or **Debugger for Mainframe: CA INTERTEST™ BATCH**
67
+
4. Select either **Debugger for Mainframe: INTERTEST™ FOR CICS** or **Debugger for Mainframe: INTERTEST™ BATCH**
57
68
58
69
5. Fill in the necessary fields as described in the **[Add Configuration](#add-configuration)** section below.
59
70
60
71
### Add Configuration
61
72
62
-
The `launch.json` file contains configurations for debugging different types of programs. The configurations supported by Debugger for Mainframe are **Debugger for Mainframe: CA INTERTEST™ FOR CICS** and **Debugger for Mainframe: CA INTERTEST™ BATCH**.
73
+
The `launch.json` file contains configurations for debugging different types of programs. The configurations supported by Debugger for Mainframe are **Debugger for Mainframe: INTERTEST™ FOR CICS** and **Debugger for Mainframe: INTERTEST™ BATCH**.
63
74
64
75
When you create a `launch.json` file for the first time, a configuration is added. You can add more configurations by clicking the **Add configuration** button.
65
76
@@ -101,11 +112,13 @@ After you add your configuration, populate the following fields:
101
112
-**"interTestCharset"**:
102
113
- (Optional) Specifies the Testing Tools Server Charset for Listings. Specify this field only if your Testing Tools Server instance is configured to use a client code page other than UTF-8.
103
114
-**"paragraphBreakpoints"**:
104
-
- (Optional) Specify "true" to have the debugging session stop automatically at each new paragraph.
115
+
- (Optional) Specify "true" to have the debugging session stop automatically at each new paragraph or label. For more information, see [Paragraph Breakpoints](#paragraph-breakpoints).
105
116
-**"callTrace"**:
106
-
- (Optional, CICS only) Specify "false" to disable the call trace feature. The feature is enabled by default.
117
+
- (CICS only, optional) Specify "false" to disable the call trace feature. The feature is enabled by default. For more information, see [Call Trace and Statement Trace](#call-trace-and-statement-trace).
107
118
-**"statementTrace"**:
108
-
- (Optional) Specify "false" to disable the statement trace feature. The feature is enabled by default.
119
+
- (Optional) Specify "false" to disable the statement trace feature. The feature is enabled by default. For more information, see [Call Trace and Statement Trace](#call-trace-and-statement-trace).
120
+
-**"executionCounts"**:
121
+
- (Batch only, optional) Specify "true" to enable the execution counts feature. The feature is disabled by default. For more information, see [Execution Counts](#execution-counts).
109
122
110
123
### Run a Debug Session
111
124
@@ -121,7 +134,7 @@ After you define your configuration in `launch.json`, you can run your debug ses
121
134
- This auto-populates as you type, so the required source might appear before you type the full source name.
122
135
123
136
4. Select the required source, for example:
124
-
-```CA INTERTEST™ FOR CICS ```
137
+
-``` INTERTEST™ FOR CICS ```
125
138
126
139
5. Enter your password.
127
140
- The expanded source is displayed.
@@ -140,7 +153,9 @@ After you define your configuration in `launch.json`, you can run your debug ses
You have successfully initiated a debugging session. Once the session is running, the debugging session stops at each breakpoint, or if an abend occurs.
156
+
You have successfully initiated a debugging session.
157
+
Once the session is running, the debugging session stops at each breakpoint, or if an abend occurs.
158
+
You can use the **Continue** and **Step over** functions of the IDE debugging controller. The **Step into**, **Step out** and **Restart** functions are not currently supported.
144
159
145
160
### Call Trace and Statement Trace
146
161
@@ -150,24 +165,26 @@ Call trace displays information about calls from program to program, displaying
150
165
151
166
Statement trace displays information about the statements that you pass during your debug session. You can view this information in the **Statement Trace View** in the left-hand sidebar of your IDE.
152
167
153
-
You can click on an entry in the Call Stack or Statement Trace View to move the cursor to the relevant line of the COBOL file.
168
+
You can click on an entry in the Call Stack or Statement Trace View to move the cursor to the relevant line of the source code file.
154
169
155
170
Records displayed in both views contain the following information:
156
171
157
172
* Name of the program
158
173
* Number of the last statement processed
159
174
* Text of the last statement processed
160
175
161
-
The call trace and statement trace features are enabled by default. They can be disabled in `launch.json` before you begin your debug session. To disable or enable the tracing features during your debug session, use the following console commands:
176
+
The call trace and statement trace features are enabled by default. They can be disabled in `launch.json` before you begin your debug session. For more information, see [Add Configuration](#add-configuration).
162
177
163
-
*`trace on`, `trace off`
178
+
To disable or enable the tracing features during your debug session, use the following commands in the debug console:
179
+
180
+
*`/trace on`, `/trace off`
164
181
- Enables and disables statement trace.
165
-
*`calltrace on`, `calltrace off`
182
+
*`/calltrace on`, `/calltrace off`
166
183
- Enables and disables call trace.
167
184
168
185
### Conditional and Unconditional Breakpoints
169
186
170
-
Breakpoints can be unconditional or conditional. Unconditional breakpoints always stop the process at the specified point until they are removed. Conditional breakpoints are only supported for CICS programs.
187
+
Breakpoints can be unconditional or conditional. Unconditional breakpoints always stop the process at the specified point until they are removed.
171
188
172
189
Conditional breakpoints contain specified scenarios which trigger the breakpoint, and are formatted as follows:
173
190
@@ -198,7 +215,9 @@ Incorrectly defined breakpoints are marked by a grey dot or circle, with a summa
198
215
199
216
### Paragraph Breakpoints
200
217
201
-
Set the `launch.json` parameter **paragraphBreakpoints** to "true" to trigger a breakpoint at the beginning of every new paragraph. You can also turn this feature on and off in the debugger console by submitting the commands `/AT LABEL` and `/LABEL OFF`.
218
+
Set the `launch.json` parameter **paragraphBreakpoints** to "true" to trigger a breakpoint at the beginning of every new paragraph in COBOL code, and every label in Assembler code. For more information, see [Add Configuration](#add-configuration).
219
+
220
+
You can also turn this feature on and off in the debugger console by submitting the commands `/AT LABEL` and `/LABEL OFF`.
@@ -219,6 +238,18 @@ Logpoints are especially useful as:
219
238
- Logpoints can be added on an ad-hoc basis, with no need to pre-plan, so debugging can be done flexibly according to resource availability.
220
239
- Logpoint notes are separate from source code, and require minimal clean-up after debugging is completed.
221
240
241
+
### Execution Counts
242
+
243
+
Debugger for Mainframe includes an execution count feature which states how many times each line of code is run between each breakpoint or abend in your debugging session. The execution count feature is only supported for Batch programs.
244
+
245
+
The execution count feature is disabled by default. It can be enabled in `launch.json` before you begin your debug session. For more information, see [Add Configuration](#add-configuration).
246
+
247
+
To enable or disable the execution count feature during your debug session, use the debug console commands `/counts on` and `/counts off`. After you submit the `/counts on` command, perform an action which progresses the debugging session to display the execution count.
248
+
249
+
The execution count variable is stored on the mainframe and is only reset when you perform an action which progresses the debugging session. It is not reset by the `/counts off` command or by closing Visual Studio Code.
250
+
251
+
**Note:** The execution count appears in column 80 of the editor window. Ensure that your IDE window is wide enough to see it.
252
+
222
253
## Set up Secure Connection
223
254
224
255
You can use Debugger for Mainframe over a secure connection if your Testing Tools Server instance is configured for a secure connection.
@@ -257,8 +288,7 @@ You have configured Debugger for Mainframe to use a secure connection to InterTe
257
288
258
289
The following issues are known and will be fixed in future releases:
259
290
260
-
- In Eclipse Che, clicking an entry in the Call Stack or Statement Trace View does not move the cursor to the relevant line of the code.
261
-
- In Eclipse Che, selecting a record from the Call Stack view does not update the variables correctly.
291
+
- Conditional breakpoints validator does not work on VS Code version 1.74.
262
292
263
293
### Enable Troubleshooting Log
264
294
To generate a troubleshooting log, add the following parameters to your `launch.json` file:
@@ -280,3 +310,19 @@ To generate a troubleshooting log, add the following parameters to your `launch.
280
310
- "file"
281
311
- Stores the troubleshooting log in a file in the `/.c4z` folder in your workspace.
282
312
313
+
## Technical Assistance and Support for Debugger for Mainframe
314
+
315
+
The Debugger for Mainframe extension is made available to customers on the Visual Studio Code Marketplace in accordance with the terms and conditions contained in the provided End-User License Agreement (EULA).
316
+
317
+
If you are on active support for InterTest, you get technical assistance and support in accordance with the terms, guidelines, details, and parameters that are located within the Broadcom [Working with Support](https://support.broadcom.com/external/content/release-announcements/CA-Support-Policies/6933) guide.
318
+
319
+
This support generally includes:
320
+
321
+
* Telephone and online access to technical support
322
+
* Ability to submit new incidents 24x7x365
323
+
* 24x7x365 continuous support for Severity 1 incidents
324
+
* 24x7x365 access to Broadcom Support
325
+
* Interactive remote diagnostic support
326
+
* Technical support cases must be submitted to Broadcom in accordance with guidance provided in “Working with Support”.
327
+
328
+
Note: To receive technical assistance and support, you must remain compliant with “Working with Support”, be current on all applicable licensing and maintenance requirements, and maintain an environment in which all computer hardware, operating systems, and third party software associated with the affected Broadcom software are on the releases and version levels from the manufacturer that Broadcom designates as compatible with the software. Changes you elect to make to your operating environment could detrimentally affect the performance of Broadcom software and Broadcom shall not be responsible for these effects or any resulting degradation in performance of the Broadcom software. Severity 1 cases must be opened via telephone and elevations of lower severity incidents to Severity 1 status must be requested via telephone.
0 commit comments