Debug Tool GUI v11 Basic Mentor Workshop-00
-
Upload
nagarajan-venkatesan -
Category
Documents
-
view
133 -
download
7
Transcript of Debug Tool GUI v11 Basic Mentor Workshop-00
®
IBM Software Group
© 2009 IBM CorporationJanuary 5, 2011© 2010 IBM Corporation
IBM Debug Tool GUI for z/OS
Program number 5655-V50
Basic Mentor Workshop
IBM Debug Tool for z/OS V10 Basic Mentor Workshop2 © 2010 IBM CorporationW02
IBM trademarks
The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:
AD/CycleCICSCICSDB2DFSORTIBMIMSIMS/ESALanguage EnvironmentMVS
RACFRedbooksS/390System/390VisualAgeVS COBOL IIVTAMWebSpherez/OSzSeries
IBM Debug Tool for z/OS V10 Basic Mentor Workshop3 © 2010 IBM CorporationW02
Introduction 3
Starting the debugger for batch LE programs 15
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL 182. Debug in batch using the 'User exit data set' facility in TSO 333. Debug in batch using the ‘User exit data set’ facility with the DTSP
plug-in 52
Using Debug Tool's graphical user interfaceDebug perspective views and navigation 64
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop4 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program 86Program statement breakpoints 100Monitoring variables 114Making breakpoints conditional 158Watch breakpoints 163Program entry and exit breakpoints 169Ending the debugging session 179
Loading program debug files 184Loading sysdebug, listings, dwarf, and source files 188Loading LANGX files 195
Debugging CICS Applications 202Creating and editing a DTCN profile using the GUI plug-in 205
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop5 © 2010 IBM CorporationW02
Interface with Debug Tool using a graphical user interface
Remote graphical interfaces are available in Rational Developer for System z and CICS Explorer
It is software that can be installed on your workstationThe application running on the mainframe is controlled by the same debugging engine that is used by the 3270 interfaceDebug Tool displays on your workstation
z/OS
Debug ToolTCP/IP
ApplicationApplicationDebug ToolDebug Tool
IBM Debug Tool for z/OS V10 Basic Mentor Workshop6 © 2010 IBM CorporationW02
Download CICS Explorer and the plug-ins from the IBM web site
Download CICS Explorer at www.ibm.com/software/htp/cics/explorer
Then download the PD Tools plug-ins at www.ibm.com/software/awdtools/deployment/pdtplugin
IBM Debug Tool for z/OS V10 Basic Mentor Workshop7 © 2010 IBM CorporationW02
Definition of terms for the Debug Tool GUI
WorkbenchThe desktop environment
PerspectiveA set of functions and capabilitiesThe Debug Tool GUI is a perspective
ViewA window within a perspective providing a specific capability
IBM Debug Tool for z/OS V10 Basic Mentor Workshop8 © 2010 IBM CorporationW02
What features are provided by the interactive debugger?
Use the debugger to:
Determine why a program is producing incorrect results
Locate an abending statement
See program statements, and step through statements one at a time
Set breakpoints at statements, programs, and conditions
Run until a breakpoint is reached
View and change the values of variables and storage
And much more
IBM Debug Tool for z/OS V10 Basic Mentor Workshop9 © 2010 IBM CorporationW02
What kinds of applications can be debugged?
One debugging engine, with support for many environments
z/OS
3270 or GUI
3270or GUI
Debug Tool
BatchApplication
Batch region
Debug Tool
Transaction
CICSApplication
CICS region
Debug Tool
Transaction
IMSApplication
IMS/TM region
Debug Tool
DB2 Stored Procedure
WLM region
Batch
Debug Tool
PosixApplication
3270or GUI
3270or GUI
3270or GUI
CICS IMS/TMDB2
stored procedure
UNIX systems services
IBM Debug Tool for z/OS V10 Basic Mentor Workshop10 © 2010 IBM CorporationW02
Debug batch LE applications
Debug batch programs while they run in batch jobsIncluding DB2 and IMS batch
This workshop module describes two simple methods to trigger thedebugger when an LE program runs in batch
Code an LE 'TEST' option in the run-time JCL, orUse the Debug Tool 'User exit data set' facility
The advanced training module describes how to trigger the debugger for non-LE batch programs
Debug Tool
BatchApplication
z/OS
Batch region C. When the batch
job step runs, the debugger starts because of the trigger
A. Set a trigger, thenB. Submit the batch job
D. The debugger displays on a Debug Tool terminal or GUI
IBM Debug Tool for z/OS V10 Basic Mentor Workshop11 © 2010 IBM CorporationW02
Debug CICS applications
Use the Debug Tool DTCN or CADP transaction to set a triggerA plug-in is available for DTCN profiles Define the trigger attributes that identify your application using a combination of: program name, transaction ID, terminal ID, user ID, and othersSpecify where the debugger will be displayed
Single terminal mode: Debug Tool and the application share one terminalDual terminal mode: Debug Tool displays on a different CICS terminal (that you specify) than the applicationGUI: Debug Tool displays on GUI debugging software on your workstation
Debug Tool
CICStransaction
z/OS
CICS region
C. When the program runs, the debugger starts because of the trigger
A. Use DTCN or CADP to set a triggerB. Run the application
D. The debugger displays on a CICS terminal or GUI
CICS
IBM Debug Tool for z/OS V10 Basic Mentor Workshop12 © 2010 IBM CorporationW02
Debug IMS/TM transaction applications
Set a program trap by specifying the program name on a Debug Tool panel in TSO or the DTSP plug-in
Dual Terminal mode: Run the application as it normally runs in an online IMS region. Debug Tool is displayed on a Debug Tool terminalor a GUI.
IMS Online Applications (IMS/TM)
Debug Tool IMSApplicationTransaction
z/OS
IMS/TM message processing region
Debug Tool
IMS
CICS
XXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX
---- ------------------------ --------
11 22222 333
111 222222222222 33333
11 22222222 333333
3270 or remote
GUI debugger
IBM Debug Tool for z/OS V10 Basic Mentor Workshop13 © 2010 IBM CorporationW02
Do lab exercise 1
Purpose: Make notes that will be needed inlater exercises
Estimated time:2 minutes
What to do:Turn to lab 1 in your workbook, and make these notes:
The Lab setup command:
EX '????.ADLAB.INSTALL(LABSETUP)'
The Debug Tool batch load library:
'????.ADLAB.DTXLOAD'
IBM Debug Tool for z/OS V10 Basic Mentor Workshop14 © 2010 IBM CorporationW02
Do lab exercise 2
Purpose: Create your own copies of sample lab files that you will use in the remaining exercises
Estimated time:5 minutes
What you need:The command to enter in the TSO command shell:
EX '????.ADLAB.INSTALL(LABSETUP)'
IBM Debug Tool for z/OS V10 Basic Mentor Workshop15 © 2010 IBM CorporationW02
Introduction
Starting the debugger for batch LE programs
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL2. Debug in batch using the 'User exit data set' facility in TSO3. Debug in batch using the ‘User exit data set’ facility with the
DTSP plug-in
Using Debug Tool's graphical user interfaceDebug perspective views and navigation
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop16 © 2010 IBM CorporationW02
Plan your debugging session for batch programs – determine how you will run the application
You can debug your batch application as it runs as a batch job
Or you can use the 'Debug Tool setup file' online panels to run your program under TSO
A. Use the online panels to create a setup file and set a trigger
B. Run the setup file
Debug Tool
BatchApplication
z/OS
TSO region
C. When the setup file runs your program in TSO, the debugger starts because of the trigger
D. The debugger displays on your TSO terminal or a GUI
TSO
Debug Tool
BatchApplication
z/OS
Batch region C. When the batch
job step runs, the debugger starts because of the trigger
A. Set a trigger, thenB. Submit the batch job
D. The debugger displays on a Debug Tool terminal or GUI
IBM Debug Tool for z/OS V10 Basic Mentor Workshop17 © 2010 IBM CorporationW02
Plan your debugging session for batch programs – select a method to set a debugging trigger
Code a trigger that will cause the debugger start when you run your application
Set a debugging trigger when you want to debug
For debugging batch programs, two methods are commonly used:A. Code a Language Environment TEST option in your JCL, orB. Use the Debug Tool 'User exit data set' facility
Typically, coding a TEST option is the suggested methodIt can be somewhat simpler and easier for batch programs
However, consider using the Debug Tool 'User exit data set' facilityIf it is your personal preferenceIf you are using this method with other types of programs (non-batch), such as DB2 stored procedures or IMS transaction programs
It can be simpler to use the same method for all non-CICS programs
For z/OS version 1.7 and earlier, the TEST option is not be supported for IMS and certain other types of programs
IBM Debug Tool for z/OS V10 Basic Mentor Workshop18 © 2010 IBM CorporationW02
Introduction
Starting the debugger for batch LE programs
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL2. Debug in batch using the 'User exit data set' facility in TSO3. Debug in batch using the ‘User exit data set’ facility with the
DTSP plug-in
Using Debug Tool's graphical user interfaceDebug perspective views and navigation
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop19 © 2010 IBM CorporationW02
Debug in batch using a TEST option in JCL and a graphical user interface
DescriptionA TEST(…) option is coded in the application's run-time JCL to trigger the debugger The debugger displays on GUI debugging software on your workstation
This method can be used:To debug Language Environment (LE) programs running in batch jobs
including programs that access IMS, DB2, or other types of databasesand non-LE programs that run in the call chain under an LE program
If compatible GUI debugging software is installed on your workstationSuch as Rational Developer for System z, or CICS Explorer with the Debug Tool plug-in
IBM Debug Tool for z/OS V10 Basic Mentor Workshop20 © 2010 IBM CorporationW02
How to start Debug Tool for a batch job with an LE TEST option in JCL and a remote GUI
Start GUI debugging software on your workstation
Start GUI debugging software on your workstation
You must have remote GUI debugging software installed, such as the Debug Tool plug-in for CICS Explorer, or Rational Developer for System z
You must have remote GUI debugging software installed, such as the Debug Tool plug-in for CICS Explorer, or Rational Developer for System z
dblclick
IBM Debug Tool for z/OS V10 Basic Mentor Workshop21 © 2010 IBM CorporationW02
To get the workstation TCP/IP address, click the down arrow next to the connection icon
= Listening= Listening
= Not Listening= Not Listening
click
Must be in "listening" mode to debug
Must be in "listening" mode to debug
Click the down arrow next to the connection icon
Click the down arrow next to the connection icon
Open the Debug perspectiveOpen the Debug perspective
IBM Debug Tool for z/OS V10 Basic Mentor Workshop22 © 2010 IBM CorporationW02
Click Get Workstation IP…
click
Click "Get Workstation IP"Click "Get Workstation IP"
This is the listener’s TCP/IP port number(8001 in this example)
This is the listener’s TCP/IP port number(8001 in this example)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop23 © 2010 IBM CorporationW02
The TCP/IP address of your workstation is shown
This is the TCP/IP address of the workstation. You will need this address and the port number to start the debugger. Copy by right clicking and selecting “Copy”. Click OK when finished
This is the TCP/IP address of the workstation. You will need this address and the port number to start the debugger. Copy by right clicking and selecting “Copy”. Click OK when finished
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop24 © 2010 IBM CorporationW02
Switch to the z/OS perspective
Open the JCL that will run the application in batch
Open the JCL that will run the application in batch
In the “Open Perspective” dialog, select “System z/OS” and click “Ok”
In the “Open Perspective” dialog, select “System z/OS” and click “Ok”
11
Click the “Open Perspective” icon and select “Other”
Click the “Open Perspective” icon and select “Other”
click22
click33
IBM Debug Tool for z/OS V10 Basic Mentor Workshop25 © 2010 IBM CorporationW02
Connect to the z/OS system
If not connected to your system, connect now. Instruction on how to set up a system connection is loacted in the “z/OS Perspective” training module
If not connected to your system, connect now. Instruction on how to set up a system connection is loacted in the “z/OS Perspective” training module
IBM Debug Tool for z/OS V10 Basic Mentor Workshop26 © 2010 IBM CorporationW02
Open the JCL member for the application to be debugged
DBL click
Double click the JCL member to open in the editor
Double click the JCL member to open in the editor
IBM Debug Tool for z/OS V10 Basic Mentor Workshop27 © 2010 IBM CorporationW02
Code a TEST option in a CEEOPTS DD or as a PARM on the EXEC statement
Code a TEST option:- on the EXEC statement, or- in a CEEOPTS DD statement(But not both)
Code a TEST option:- on the EXEC statement, or- in a CEEOPTS DD statement(But not both)
TCPIP&address%port: denotes a GUI TCPIP&address%port: denotes a GUI
In the JCL, code a TEST option
In the JCL, code a TEST option
IBM Debug Tool for z/OS V10 Basic Mentor Workshop28 © 2010 IBM CorporationW02
Submit the JCL to run the batch job
Update with the current IP address
Update with the current IP address
RT click
click
Right-click and select “Submit Job”
Right-click and select “Submit Job”
22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop29 © 2010 IBM CorporationW02
When the job step runs, the debugger is triggered
When the step runs, the TEST option is processed, and the Debug Tool GUI is activated.
When the step runs, the TEST option is processed, and the Debug Tool GUI is activated.
click
The “Confirm Perspective Switch” message appears, click “OK” to view the Debug Perspective
The “Confirm Perspective Switch” message appears, click “OK” to view the Debug Perspective
IBM Debug Tool for z/OS V10 Basic Mentor Workshop30 © 2010 IBM CorporationW02
The debugger automatically displays
The batch program can now be debugged
The batch program can now be debugged
IBM Debug Tool for z/OS V10 Basic Mentor Workshop31 © 2010 IBM CorporationW02
Choosing between the CEEOPTS DD or EXEC parm
There are two ways to code a TEST option in JCL to start Debug Tool:in a CEEOPTS DD, oron the EXEC statement
Comparing the two methods:Both are easy, but CEEOPTS can be easier because:
it is simpler to cut and paste into JCL without making a syntax mistake It can be used with a JCL PROC without changing the PROCIt will trigger the debugger when the first LE program runs, even if it is a subprogram
• but a TEST option on the EXEC statement will only trigger if the main program is an LE program
IBM Debug Tool for z/OS V10 Basic Mentor Workshop32 © 2010 IBM CorporationW02
Coding the LE TEST option
The LE TEST option has five sub-options, separated by commas and a colon:
TEST( test-level , command-file , prompt , connection : preferences-file )
Test-level is not typically coded. It is used to control when the debugger will automatically stop as a program runs. (default = all conditions and abends)Command-file can be used to specify the DDname or file name of a script file containing debugger commands that will run automatically.Prompt is not typically coded. (default = display the debugger when triggered)Connection controls where the debugger displays:
• VTAM%user-id: = Connect to the TIM terminal where user-id logged on• MFI%terminal-id: = Connect to the non-TIM terminal named terminal-id• TCPIP%workstation_tcpip_address%port_id = Connect to GUI
debugging software such as Rational Developer for system zPreferences-file can be used to specify the DDname or file name of a script file containing debugger commands that will run automatically. The preferences file (if specified) runs before the command file (if specified).
Example: TEST(,,,VTAM%USER123:)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop33 © 2010 IBM CorporationW02
Introduction
Starting the debugger for batch LE programs
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL2. Debug in batch using the 'User exit data set' facility in TSO3. Debug in batch using the ‘User exit data set’ facility with the
DTSP plug-in
Using Debug Tool's graphical user interfaceDebug perspective views and navigation
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop34 © 2010 IBM CorporationW02
Debug in batch using the 'user exit data set' facility and a graphical user interface
DescriptionThe 'User exit data set' online panels in TSO are used to set a trigger for the debugger.
A special library may be required in STEPLIB or JOBLIB to enable the Debug Tool LE user exit
The debugger displays on GUI debugging software on your workstation
This method can be used:To debug Language Environment (LE) programs running in batch jobs
including programs that access IMS, DB2, or other types of databasesand non-LE programs that run in the call chain under an LE program
If compatible GUI debugging software is installed on your workstationSuch as Rational Developer for System z, or CICS Explorer with the Debug Tool plug-in
When not to use this method:If GUI debugging workstation software is not available, use a terminal interface instead
IBM Debug Tool for z/OS V10 Basic Mentor Workshop35 © 2010 IBM CorporationW02
How to start Debug Tool for a batch job with the 'User exit data set' facility and a remote GUI
Start GUI debugging software on your workstation
Start GUI debugging software on your workstation
You must have remote GUI debugging software installed, such as the Debug Tool plug-in for CICS Explorer, or Rational Developer for System z
You must have remote GUI debugging software installed, such as the Debug Tool plug-in for CICS Explorer, or Rational Developer for System z
In this example, the user is already logged on to TSO
In this example, the user is already logged on to TSOdbl
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop36 © 2010 IBM CorporationW02
To get the workstation TCP/IP address, click the down arrow next to the connection icon
= Listening= Listening
= Not Listening= Not Listening
click
Must be in "listening" modeMust be in "listening" mode
Click the down arrow next to the connection icon
Click the down arrow next to the connection icon
Open the Debug perspectiveOpen the Debug perspective
IBM Debug Tool for z/OS V10 Basic Mentor Workshop37 © 2010 IBM CorporationW02
Click Get Workstation IP…
click
Click "Get Workstation IP"Click "Get Workstation IP"
This is the listener’s TCP/IP port number.(8001 in this example)
This is the listener’s TCP/IP port number.(8001 in this example)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop38 © 2010 IBM CorporationW02
The TCP/IP address of your workstation is shown
This is the TCP/IP address of the workstation. You will need this address and the port number to start the debugger.
This is the TCP/IP address of the workstation. You will need this address and the port number to start the debugger.
click
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop39 © 2010 IBM CorporationW02
Navigate to the Debug Tool Utilities menu in TSO
Follow the menus on your system to navigate to the Debug Tool panels
Follow the menus on your system to navigate to the Debug Tool panels
IBM Debug Tool for z/OS V10 Basic Mentor Workshop40 © 2010 IBM CorporationW02
Select the Debug Tool user exit data set utility option from the menu
Enter
IBM Debug Tool for z/OS V10 Basic Mentor Workshop41 © 2010 IBM CorporationW02
Specify the name of the Debug Tool user exit data set
Use the default file name unless instructed otherwise, or if a different user ID is needed
Use the default file name unless instructed otherwise, or if a different user ID is neededEnter
Specify the correct name of your user option data set
Specify the correct name of your user option data set
IBM Debug Tool for z/OS V10 Basic Mentor Workshop42 © 2010 IBM CorporationW02
Use the default settings, unless required by your system
Use the default settings, unless required by your system
Enter
If the Debug Tool user exit data set does not already exist, this allocation panel is displayed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop43 © 2010 IBM CorporationW02
Specify one or more program names
* = any program * = any program
Specify the names of main programs that should trigger the debugger when they run
Specify the names of main programs that should trigger the debugger when they run
Specify the debugging profile
Specify the debugging profile
IBM Debug Tool for z/OS V10 Basic Mentor Workshop44 © 2010 IBM CorporationW02
Specify the name of one or more main programs that will trigger the debugger when they run
F8
Specify the names of main programs that should trigger the debugger when they run
Specify the names of main programs that should trigger the debugger when they run
Specify the debugging profile
Specify the debugging profile
IBM Debug Tool for z/OS V10 Basic Mentor Workshop45 © 2010 IBM CorporationW02
Specify the debugging interface and connection information
Enter
Select the Remote debug mode option
Select the Remote debug mode option
When it triggers, the debugger will connect to the workstation at this address
When it triggers, the debugger will connect to the workstation at this address
Specify the debugging profile
Specify the debugging profile
IBM Debug Tool for z/OS V10 Basic Mentor Workshop46 © 2010 IBM CorporationW02
The user exit data set was updated by pressing Enter
F3F3
F3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop47 © 2010 IBM CorporationW02
Next, open the JCL that will run the program in batch
Depending on how your program was linked, you may need to add a special Debug Tool library to STEPLIB or JOBLIB. The name of the library will be provided by your system programmer.
Depending on how your program was linked, you may need to add a special Debug Tool library to STEPLIB or JOBLIB. The name of the library will be provided by your system programmer.
If needed, add a special library to STEPLIB or JOBLIB
If needed, add a special library to STEPLIB or JOBLIB
IBM Debug Tool for z/OS V10 Basic Mentor Workshop48 © 2010 IBM CorporationW02
Submit the JCL to run the batch job
Enter
Submit the jobSubmit the job
IBM Debug Tool for z/OS V10 Basic Mentor Workshop49 © 2010 IBM CorporationW02
When the job step runs, the debugger is triggered
click
Select the GUISelect the GUI
When the step runs, the Debug Tool LE user exit is invoked. The exit opens your user exit data set. If the main program matches any of the program entries in the profile, the debugger is triggered and is displayed in the GUI
When the step runs, the Debug Tool LE user exit is invoked. The exit opens your user exit data set. If the main program matches any of the program entries in the profile, the debugger is triggered and is displayed in the GUI
IBM Debug Tool for z/OS V10 Basic Mentor Workshop50 © 2010 IBM CorporationW02
The debugger automatically displays
The batch program can be debugged from the GUI
The batch program can be debugged from the GUI
And you can click your TSO terminal to continue working in TSO
And you can click your TSO terminal to continue working in TSO
IBM Debug Tool for z/OS V10 Basic Mentor Workshop51 © 2010 IBM CorporationW02
How the Debug Tool user exit data set facility works
How it works:
The user exit data set utility saves your debugging profile in a 'user exit data set'
By default, the naming convention is: user-ID.DBGTOOL.EQAUOPTSThe system programmer can customize the naming convention on your system. If that is the case:
• You need to learn the naming convention • Ensure that you name your user exit data set correctly
Debug Tool provides special LE exits. If an exit is enabled when the program runs:
It uses the user ID to determine the name of your data setThe exit reads your user option data setIf the main program name matches any of the programs in the profile, the exit passes a TEST option to LE to start the debugger
IBM Debug Tool for z/OS V10 Basic Mentor Workshop52 © 2010 IBM CorporationW02
Introduction
Starting the debugger for batch LE programs
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL2. Debug in batch using the 'User exit data set' facility in TSO3. Debug in batch using the ‘User exit data set’ facility with the
DTSP plug-in
Using Debug Tool's graphical user interfaceDebug perspective views and navigation
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop53 © 2010 IBM CorporationW02
In CICS Explorer, show the DTSP Profiles View
Once the DTSP plug-in is installed, access the view by opening the “Other” view menu
Once the DTSP plug-in is installed, access the view by opening the “Other” view menu
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop54 © 2010 IBM CorporationW02
Select the DTCN profiles view
dbl click Select the “DTSP
Profiles” view Select the “DTSP Profiles” view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop55 © 2010 IBM CorporationW02
Manage Test Runtime options datasets
“Right click” actions:Create – begin wizard driven profile creationRefresh – Reload the profiles listPreferences – set system connection information
The “DTSP Profiles” view is displayed near the “Debug Console” view
The “DTSP Profiles” view is displayed near the “Debug Console” view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop56 © 2010 IBM CorporationW02
Create a new DTSP Profile
In the “DTSP Profiles” view, right click and select “Create” In the “DTSP Profiles” view, right click and select “Create”
RT click
click
11 22
IBM Debug Tool for z/OS V10 Basic Mentor Workshop57 © 2010 IBM CorporationW02
Check the z/OS system connection settings
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop58 © 2010 IBM CorporationW02
The z/OS system connection settings
click
System connection settingsHost Name – TCP/IP address of the z/OS systemPort Number – Port number of the z/OS system set up for CICS TCP/IP serviceUser ID / Password – Used to sign on to the z/OS systemProfile Name Pattern – Naming pattern that matches the default naming pattern for the EQUAOPTS dataset contain a combination of “&userid” and “&pgmid”
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop59 © 2010 IBM CorporationW02
Build a DTSP profile
click
Choose the action, create or edit, and click “Next” Choose the action, create or edit, and click “Next”
IBM Debug Tool for z/OS V10 Basic Mentor Workshop60 © 2010 IBM CorporationW02
Enter the DTSP profile information
click
Add up to 8 load modules Add up to 8 load modules
Debugging profile information Debugging profile information
IBM Debug Tool for z/OS V10 Basic Mentor Workshop61 © 2010 IBM CorporationW02
DTSP profile added to the list
The EQUAOPTS debugging profile is added to the list
The EQUAOPTS debugging profile is added to the list
IBM Debug Tool for z/OS V10 Basic Mentor Workshop62 © 2010 IBM CorporationW02
Open the JCL that will run the program in batch
Opening the EQUAOPTS debugging profile shows the parameters that were added from the DTSP profile builder
Opening the EQUAOPTS debugging profile shows the parameters that were added from the DTSP profile builder
IBM Debug Tool for z/OS V10 Basic Mentor Workshop63 © 2010 IBM CorporationW02
Do lab exercise 3
Purpose: Run a program by submitting a batch jobStart the debugger on the Debug Tool GUI when the batch job runs
Estimated time:20 minutes
What you need:CICS Explorer or RDz installed on your workstation The Debug Tool GUI plugin installed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop64 © 2010 IBM CorporationW02
Introduction
Starting the debugger for batch LE programs
Use a graphical user interface, and1. Debug in batch using an LE TEST option in JCL2. Debug in batch using the 'User exit data set' facility in TSO3. Debug in batch using the ‘User exit data set’ facility with the
DTSP plug-in
Using Debug Tool's graphical user interfaceDebug perspective views and navigation
Debug Tool training sections Page 1 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop65 © 2010 IBM CorporationW02
Debug perspective
Debug consoleDebug console
Debug viewDebug view Monitors, breakpoints, listings… views
Monitors, breakpoints, listings… views
Source viewSource view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop66 © 2010 IBM CorporationW02
Display a view
You can display a view by clicking on it's tab
You can display a view by clicking on it's tab
click
Views• Support editors and provide ways to navigate your Workbench • Can appear by itself, or stacked with other views in a tabbed notebook
Views• Support editors and provide ways to navigate your Workbench• Can appear by itself, or stacked with other views in a tabbed notebook
IBM Debug Tool for z/OS V10 Basic Mentor Workshop67 © 2010 IBM CorporationW02
Result of clicking a view’s tab
IBM Debug Tool for z/OS V10 Basic Mentor Workshop68 © 2010 IBM CorporationW02
Resizing views
dblclick
You can expand a view by double-clicking on it's tab
You can expand a view by double-clicking on it's tab
You can resize panes by dragging the borders
You can resize panes by dragging the borders
IBM Debug Tool for z/OS V10 Basic Mentor Workshop69 © 2010 IBM CorporationW02
Full screen view window
dblclick
You can reduce an expanded view by double-clicking it's tab
You can reduce an expanded view by double-clicking it's tab
IBM Debug Tool for z/OS V10 Basic Mentor Workshop70 © 2010 IBM CorporationW02
Drag a view to another pane
You can move a view to another pane by dragging it's tab
You can move a view to another pane by dragging it's tab
drag
IBM Debug Tool for z/OS V10 Basic Mentor Workshop71 © 2010 IBM CorporationW02
Relocated tab
IBM Debug Tool for z/OS V10 Basic Mentor Workshop72 © 2010 IBM CorporationW02
Restore the default view configuration
You can reset the windows to their default position with Window -> Reset Perspective
You can reset the windows to their default position with Window -> Reset Perspective
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop73 © 2010 IBM CorporationW02
Reset perspective result
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop74 © 2010 IBM CorporationW02
Reset perspective result
IBM Debug Tool for z/OS V10 Basic Mentor Workshop75 © 2010 IBM CorporationW02
The Source view
Source view Displays program source
The next statement that will run is highlightedSet and remove statement breakpoints Right click to display view action menu
IBM Debug Tool for z/OS V10 Basic Mentor Workshop76 © 2010 IBM CorporationW02
The Debug view
Debug view Controls running and terminating the program
Use step controls to step through the program line by lineRetrieve the workstation IP addressView the current program stack
The Debug view shows currently running programs
The Debug view shows currently running programs
IBM Debug Tool for z/OS V10 Basic Mentor Workshop77 © 2010 IBM CorporationW02
Debug view action bar buttons
Resume: Run the program to the next breakpoint or to the end
Resume: Run the program to the next breakpoint or to the end
Terminate: End the program
Terminate: End the program Step: run one
statement Step: run one statement
Step Over: run one statement, but step over a CALL
Step Over: run one statement, but step over a CALL
Step Return: run until return from subprogram
Step Return: run until return from subprogram
Disconnect: from the debug engine
Disconnect: from the debug engine
Animated Step: Steps into the program automatically at a rate you specify
Animated Step: Steps into the program automatically at a rate you specify
IBM Debug Tool for z/OS V10 Basic Mentor Workshop78 © 2010 IBM CorporationW02
The Breakpoints view
Breakpoints view Lists breakpoints
Set address, entry, statement, load, and watch breakpointsDelete breakpointsEnable and disable breakpoints
Right-click to open menu driven breakpoint builder
Right-click to open menu driven breakpoint builder
IBM Debug Tool for z/OS V10 Basic Mentor Workshop79 © 2010 IBM CorporationW02
The Variables view
Variables view Displays variables associated with the program selected in the debug view
Monitor local variables and memory Change representation (hex, decimal) Filter local variables (all, current, previous, language based criteria)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop80 © 2010 IBM CorporationW02
The Monitors view
Monitors view Shows variables and expressions that you have selected
Add or remove a variable or expression to the monitorChange representation (hex, decimal) Change a variable value
IBM Debug Tool for z/OS V10 Basic Mentor Workshop81 © 2010 IBM CorporationW02
The Registers view
Registers view Lists register values
Change a register valueAdd a register group
IBM Debug Tool for z/OS V10 Basic Mentor Workshop82 © 2010 IBM CorporationW02
The Memory view
Memory view
View and modify memoryAdd / remove memory monitorContains two panes -- the Memory Monitors pane and the Memory Renderings pane
IBM Debug Tool for z/OS V10 Basic Mentor Workshop83 © 2010 IBM CorporationW02
The Modules view
Modules view Displays a list of modules loaded while running your application
Expand items to see compile units, files, and functionsDouble-click source file nodes to open source in the editor
IBM Debug Tool for z/OS V10 Basic Mentor Workshop84 © 2010 IBM CorporationW02
The Debug Console
Debug Console
Issue commands to the debug engine
View messages from the engine and commands
IBM Debug Tool for z/OS V10 Basic Mentor Workshop85 © 2010 IBM CorporationW02
The Debug Console
Debug Console commands
Review available commands
Retrieve a complete list of commands with CTRL + SHIFT
Retrieve a complete list of commands with CTRL + SHIFT
CTRL + SHIFT click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop86 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the programProgram statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop87 © 2010 IBM CorporationW02
The debugger starts at the top of the program
The program is not yet initializedThe program is not yet initialized
IBM Debug Tool for z/OS V10 Basic Mentor Workshop88 © 2010 IBM CorporationW02
Use the “Step-into” button to run one statement at a time
click
Hint: F5 is the hotkey for “Step-into”
Hint: F5 is the hotkey for “Step-into”
The current positionThe current position
Click the “Step-into” button
Click the “Step-into” button
IBM Debug Tool for z/OS V10 Basic Mentor Workshop89 © 2010 IBM CorporationW02
“Step-into” again
The new current positionThe new current position
click
Click the “Step-into” button
Click the “Step-into” button
IBM Debug Tool for z/OS V10 Basic Mentor Workshop90 © 2010 IBM CorporationW02
After stepping
The new current positionThe new current position
IBM Debug Tool for z/OS V10 Basic Mentor Workshop91 © 2010 IBM CorporationW02
Search for text in the source code
To search for text, enter the text string and click OK
To search for text, enter the text string and click OK
RT click
click
22
11
33
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop92 © 2010 IBM CorporationW02
Result of text search
If found, the text string is highlighted
If found, the text string is highlighted
IBM Debug Tool for z/OS V10 Basic Mentor Workshop93 © 2010 IBM CorporationW02
Scrolling in a window
SCROLLINGUse the scroll bar to navigate within a viewClick and drag, or click arrows
drag
IBM Debug Tool for z/OS V10 Basic Mentor Workshop94 © 2010 IBM CorporationW02
Reset the active source line
dblclick
Reset the source view to the current line by clicking the program name
Reset the source view to the current line by clicking the program name
IBM Debug Tool for z/OS V10 Basic Mentor Workshop95 © 2010 IBM CorporationW02
Set a breakpoint in the source view
Double click to set a breakpoint at statement 258
Double click to set a breakpoint at statement 258
dblclick
Scroll down to line 258Scroll down to line 258
IBM Debug Tool for z/OS V10 Basic Mentor Workshop96 © 2010 IBM CorporationW02
Click the “Resume” button to run the program
A breakpoint was set at statement 258
A breakpoint was set at statement 258
click
The breakpoint is also displayed in the Breakpoints view
The breakpoint is also displayed in the Breakpoints view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop97 © 2010 IBM CorporationW02
Result of clicking the “Resume” button The program ran until it reached a breakpoint
IBM Debug Tool for z/OS V10 Basic Mentor Workshop98 © 2010 IBM CorporationW02
Right click on a line and select “Run To Location” to run the program until it reaches the statement
RT click
click
2211
“Run-to” line 275“Run-to” line 275
IBM Debug Tool for z/OS V10 Basic Mentor Workshop99 © 2010 IBM CorporationW02
Result of the “Run To Location”
The program ran until it reached the RUNTO location
The program ran until it reached the RUNTO location
IBM Debug Tool for z/OS V10 Basic Mentor Workshop100 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpointsMonitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop101 © 2010 IBM CorporationW02
Add breakpoints by double clicking in the source view, or with the Breakpoints view menu
dblclick
RT clickclick
22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop102 © 2010 IBM CorporationW02
The breakpoints view pop-up menu gives options for setting breakpoints
The breakpoint set at statement 258 is displayed
Right click and select additional breakpoints to create
The breakpoint set at statement 258 is displayed
Right click and select additional breakpoints to create
RT click click
2211
IBM Debug Tool for z/OS V10 Basic Mentor Workshop103 © 2010 IBM CorporationW02
Specify line-number to set a statement breakpoint
Indicate the statement where you want to set a breakpoint
Indicate the statement where you want to set a breakpoint
click
clickExample expression: CUST-ID = '22004'
Example expression: CUST-ID = '22004'
IBM Debug Tool for z/OS V10 Basic Mentor Workshop104 © 2010 IBM CorporationW02
The breakpoint was set at the statement
IBM Debug Tool for z/OS V10 Basic Mentor Workshop105 © 2010 IBM CorporationW02
The Resume button or function key runs the program
F8
F8 from the keyboard has the same function as the Resume button
F8 from the keyboard has the same function as the Resume button
IBM Debug Tool for z/OS V10 Basic Mentor Workshop106 © 2010 IBM CorporationW02
The program ran until it reached a breakpoint
The highlighted line indicates the current statement. Statement 312 will be the next statement to run
The highlighted line indicates the current statement. Statement 312 will be the next statement to run
IBM Debug Tool for z/OS V10 Basic Mentor Workshop107 © 2010 IBM CorporationW02
Double click a breakpoint marker to clear a statement breakpoint
dblclick
Statement breakpoints have been set at lines 314 and 316
Statement breakpoints have been set at lines 314 and 316
Remove a statement breakpoint by double clicking the breakpoint indicator
Remove a statement breakpoint by double clicking the breakpoint indicator
IBM Debug Tool for z/OS V10 Basic Mentor Workshop108 © 2010 IBM CorporationW02
Result of double clicking a breakpoint marker
The breakpoint at 316 was clearedThe breakpoint at 316 was cleared
IBM Debug Tool for z/OS V10 Basic Mentor Workshop109 © 2010 IBM CorporationW02
Right click and select “remove” to clear a statement breakpoint
RT click
click22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop110 © 2010 IBM CorporationW02
The statement breakpoint is cleared from the source and breakpoints views
The breakpoint at 312 was clearedThe breakpoint at 312 was cleared
IBM Debug Tool for z/OS V10 Basic Mentor Workshop111 © 2010 IBM CorporationW02
Select a breakpoint and click the “Remove” button
The breakpoint at 314 was clearedThe breakpoint at 314 was cleared click
The selected breakpoint will be removed when the “Remove” button is pressed
The selected breakpoint will be removed when the “Remove” button is pressed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop112 © 2010 IBM CorporationW02
Result of clicking the “Remove” button
The breakpoint at 314 was removedThe breakpoint at 314 was removed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop113 © 2010 IBM CorporationW02
Disable a breakpoint
clickDisable a breakpoint by un-checking the box
Disable a breakpoint by un-checking the box
IBM Debug Tool for z/OS V10 Basic Mentor Workshop114 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variablesMaking breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop115 © 2010 IBM CorporationW02
Hover over a variable to see it's value
The hover feature: hold the cursor (no click) over a variable in the source view, and the value is displayed!
The hover feature: hold the cursor (no click) over a variable in the source view, and the value is displayed!
Note: This option is can be activated in the user preferences
Note: This option is can be activated in the user preferences
IBM Debug Tool for z/OS V10 Basic Mentor Workshop116 © 2010 IBM CorporationW02
The Variables view shows program variables, and optionally variables referenced by the current statement
Variables referenced by the current statement can be displayed in the variables view
Variables referenced by the current statement can be displayed in the variables view
StepStepclick
IBM Debug Tool for z/OS V10 Basic Mentor Workshop117 © 2010 IBM CorporationW02
After a Step. The variables view can display variables referenced by the current statement
IBM Debug Tool for z/OS V10 Basic Mentor Workshop118 © 2010 IBM CorporationW02
Select “Automonitor Previous” to display variables from both the current and previous statements
RT click
click
22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop119 © 2010 IBM CorporationW02
Automonitor Previous displays variables from both the current and previous statements
CurrentCurrentPreviousPrevious
StepStep
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop120 © 2010 IBM CorporationW02
After a step. The Automonitor refreshes the display as you step and run
The Automonitor Previous option displays results automatically as you step through a program
The Automonitor Previous option displays results automatically as you step through a program
The yellow highlighting means the value has changed while in the variables window
The yellow highlighting means the value has changed while in the variables window
IBM Debug Tool for z/OS V10 Basic Mentor Workshop121 © 2010 IBM CorporationW02
Select the COBOL Working-Storage Section to view all of the Working-Storage variables
RT click
22
11
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop122 © 2010 IBM CorporationW02
Result of adding the COBOL working-storage section to the variables view
The working storage starts here
The working storage starts here
DBL click
Double click the tab to expand the view
Double click the tab to expand the view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop123 © 2010 IBM CorporationW02
Showing all working-storage variables
Expand a section by clicking the “+”
Expand a section by clicking the “+”click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop124 © 2010 IBM CorporationW02
Showing all working-storage variables
DBL click
Double click the tab to shrink the view
Double click the tab to shrink the view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop125 © 2010 IBM CorporationW02
Changing a variable value
RT click
click
22
11
Right click and select “Change Value”
Right click and select “Change Value”
IBM Debug Tool for z/OS V10 Basic Mentor Workshop126 © 2010 IBM CorporationW02
Change the value
click
22
11
Enter in the new value in the text box
Enter in the new value in the text box
IBM Debug Tool for z/OS V10 Basic Mentor Workshop127 © 2010 IBM CorporationW02
The value was changed
The value has now been changed for the session
The value has now been changed for the session
IBM Debug Tool for z/OS V10 Basic Mentor Workshop128 © 2010 IBM CorporationW02
Control + F searches for text in a window
Select the source view
Select the source view
CTRL + F The selected view is searched
The selected view is searched
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop129 © 2010 IBM CorporationW02
After repeated CTRL + Finds
IBM Debug Tool for z/OS V10 Basic Mentor Workshop130 © 2010 IBM CorporationW02
Display the monitors view
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop131 © 2010 IBM CorporationW02
Add a variable to the monitors view
RT click click
Right click the variable after highlighting
Right click the variable after highlighting
Tip: Use the Find action to locate variables in the source
Tip: Use the Find action to locate variables in the source
2211
IBM Debug Tool for z/OS V10 Basic Mentor Workshop132 © 2010 IBM CorporationW02
Result of the "Monitor Expression"
Monitor was addedMonitor was added
IBM Debug Tool for z/OS V10 Basic Mentor Workshop133 © 2010 IBM CorporationW02
After adding more variables to the monitor
Monitors were addedMonitors were added
IBM Debug Tool for z/OS V10 Basic Mentor Workshop134 © 2010 IBM CorporationW02
Clearing a variable from the monitor
RT click
click
22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop135 © 2010 IBM CorporationW02
Result of “Remove” action – the monitored variable was cleared
IBM Debug Tool for z/OS V10 Basic Mentor Workshop136 © 2010 IBM CorporationW02
Remove multiple items from the monitor
Select multiple items by clicking and holding down the Control key
Select multiple items by clicking and holding down the Control key
clickclick
2211 CTRL
+ click
33
Remove buttonRemove button
IBM Debug Tool for z/OS V10 Basic Mentor Workshop137 © 2010 IBM CorporationW02
Result of a clearing multiple items from the monitor
Monitors remain active until you remove them
Monitors remain active until you remove them
IBM Debug Tool for z/OS V10 Basic Mentor Workshop138 © 2010 IBM CorporationW02
Select and double-click to add a variable to the monitor
DBL click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop139 © 2010 IBM CorporationW02
Result of double-click a variable
Monitors remain active until you clear them
Monitors remain active until you clear them
Double-click to monitor is an option setting in Window > Preferences > Run/Debug > Compiled Debug
Double-click to monitor is an option setting in Window > Preferences > Run/Debug > Compiled Debug
IBM Debug Tool for z/OS V10 Basic Mentor Workshop140 © 2010 IBM CorporationW02
Add a variable to the monitor with the “Monitor Expression” button
Highlight the variable you want to monitor
Highlight the variable you want to monitor
clickMonitor Expression button
Monitor Expression button
click22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop141 © 2010 IBM CorporationW02
Result of using the Monitor Expression button
Monitors remain active until you clear them
Monitors remain active until you clear them
IBM Debug Tool for z/OS V10 Basic Mentor Workshop142 © 2010 IBM CorporationW02
Overtype the value of a monitored item to change it
DBL click
click
Change the value of the variable
Change the value of the variable
22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop143 © 2010 IBM CorporationW02
The value of a variable was changed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop144 © 2010 IBM CorporationW02
Monitoring group variables
Add CUST-REC as a Monitored Variable using one of the methods
Add CUST-REC as a Monitored Variable using one of the methods
Group variables are indicated by the “+” symbol. Click it to expand the variable.
Group variables are indicated by the “+” symbol. Click it to expand the variable.
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop145 © 2010 IBM CorporationW02
Expanded group variable
IBM Debug Tool for z/OS V10 Basic Mentor Workshop146 © 2010 IBM CorporationW02
Collapse the group variable
Click the “-” to collapse the group variable.
Click the “-” to collapse the group variable.click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop147 © 2010 IBM CorporationW02
Collapsed the group variable
The group variable can be expanded or collapsed any time
The group variable can be expanded or collapsed any time
IBM Debug Tool for z/OS V10 Basic Mentor Workshop148 © 2010 IBM CorporationW02
“Set auto on Both” command
Enter the “set auto on both” command in the Debug Console
Enter the “set auto on both” command in the Debug Console
Enter
IBM Debug Tool for z/OS V10 Basic Mentor Workshop149 © 2010 IBM CorporationW02
"Auto monitor" variables display in the monitors view
The “set auto on both” command turns on the auto monitor and displays it in the monitors view
The “set auto on both” command turns on the auto monitor and displays it in the monitors view
click
Click “Step”Click “Step”CurrentCurrent
PreviousPrevious
IBM Debug Tool for z/OS V10 Basic Mentor Workshop150 © 2010 IBM CorporationW02
Result of step with “Set Auto On Both”
CurrentCurrent
PreviousPrevious
IBM Debug Tool for z/OS V10 Basic Mentor Workshop151 © 2010 IBM CorporationW02
Move the monitors view
Click + drag
Drag and drop the Monitors view to move it
Drag and drop the Monitors view to move it
IBM Debug Tool for z/OS V10 Basic Mentor Workshop152 © 2010 IBM CorporationW02
An example of using the variables and monitors views together
COBOL working storage section
COBOL working storage section
Auto monitorAuto monitor
Selected variablesSelected variables
IBM Debug Tool for z/OS V10 Basic Mentor Workshop153 © 2010 IBM CorporationW02
Another example of using the monitors and variables view in tandem
Auto monitorAuto monitor
Selected variablesSelected variables
IBM Debug Tool for z/OS V10 Basic Mentor Workshop154 © 2010 IBM CorporationW02
Add a monitored variable to the memory monitor
Add a variable to the memory monitor by right clicking and selecting a format
Add a variable to the memory monitor by right clicking and selecting a format
RT click click
2211
IBM Debug Tool for z/OS V10 Basic Mentor Workshop155 © 2010 IBM CorporationW02
The variable is displayed in the selected format in the Memory view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop156 © 2010 IBM CorporationW02
Variables view
Displays information about the variables associated with the stack frame selected in the Debug view
Actions in the Variables viewFilter locals
AllAutomonitor currentAutomonitor previousCOBOL sections
Monitor local variablesMonitor memoryChange representation Change valueFind (selecting from a list of variables)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop157 © 2010 IBM CorporationW02
Monitors view
The Monitors view shows variables and expressions that you have selected From the Source view
Highlight the variable Right Click Select MonitorFrom the Menu
Monitors Monitor Expression then type in the variable / expression
From the Source viewRight click a variable, then select Monitor Expression
From the Variables viewRight click a variable, then select Monitor Local Variable
From the Monitors viewRight click in the window, then select Monitor Expression, then type in the variable / expression
SET AUTO ON or SET AUTO ON BOTH debug console commandsDisplay the auto monitor in the monitors view
Actions in the Monitors viewAdd an expression to the monitorRemove an expression from the monitor Change a valueChange representation
IBM Debug Tool for z/OS V10 Basic Mentor Workshop158 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditionalWatch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop159 © 2010 IBM CorporationW02
Begin by creating a breakpoint
RT click
22
11 click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop160 © 2010 IBM CorporationW02
click
22
11
click
Specify an expression to set a conditional breakpoint
Breakpoint is set for statement 404, only when CUST-ID = ‘11004’
Breakpoint is set for statement 404, only when CUST-ID = ‘11004’
IBM Debug Tool for z/OS V10 Basic Mentor Workshop161 © 2010 IBM CorporationW02
click
Run the program
Resume to run the program until the breakpoint is triggered
Resume to run the program until the breakpoint is triggered
Indicates that the breakpoint is conditional
Indicates that the breakpoint is conditional
IBM Debug Tool for z/OS V10 Basic Mentor Workshop162 © 2010 IBM CorporationW02
The program stopped the next time it reached statement 404 and the condition was true
Adding CUST-ID to the monitor allows the value to be shown
Adding CUST-ID to the monitor allows the value to be shown
IBM Debug Tool for z/OS V10 Basic Mentor Workshop163 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpointsProgram entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop164 © 2010 IBM CorporationW02
Create a “Watch” breakpoint
RT click
11
22click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop165 © 2010 IBM CorporationW02
A Watch breakpoint triggers when a specified variable changes
click
22
11
click
Specify the variableSpecify the variable
IBM Debug Tool for z/OS V10 Basic Mentor Workshop166 © 2010 IBM CorporationW02
Watch breakpoint for variable NUM-CUSTFILE-RECS has been added
Click the Variables tab to view the variable value
Click the Variables tab to view the variable value
IBM Debug Tool for z/OS V10 Basic Mentor Workshop167 © 2010 IBM CorporationW02
Run the program
click
The current value of the variable is 1
The current value of the variable is 1
Click “Resume” to run until the breakpoint is triggered
Click “Resume” to run until the breakpoint is triggered
IBM Debug Tool for z/OS V10 Basic Mentor Workshop168 © 2010 IBM CorporationW02
The watch breakpoint triggered when the variable changed
The breakpoint triggered when the variable value changed
The breakpoint triggered when the variable value changed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop169 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpointsEnding the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop170 © 2010 IBM CorporationW02
You can step into a subprogram or function
click Step-intoStep-into
IBM Debug Tool for z/OS V10 Basic Mentor Workshop171 © 2010 IBM CorporationW02
After stepping into a subprogram
clickStep through the programStep through the program
SAM2 is added to the program stack
The location is at SAM2 initialization
SAM2 is added to the program stack
The location is at SAM2 initialization
IBM Debug Tool for z/OS V10 Basic Mentor Workshop172 © 2010 IBM CorporationW02
You can STEP out of a subprogram or function
clickStep out of the programStep out of the program
IBM Debug Tool for z/OS V10 Basic Mentor Workshop173 © 2010 IBM CorporationW02
Returned to the calling program
SAM2 returned, and you now back in SAM1
The Source view shows SAM1 code
SAM2 returned, and you now back in SAM1
The Source view shows SAM1 code
IBM Debug Tool for z/OS V10 Basic Mentor Workshop174 © 2010 IBM CorporationW02
Create an entry breakpoint
RT click
11 click
22
IBM Debug Tool for z/OS V10 Basic Mentor Workshop175 © 2010 IBM CorporationW02
Create an entry breakpoint
click11
click22Fill in the Function or Entry point nameFill in the Function or Entry point name
IBM Debug Tool for z/OS V10 Basic Mentor Workshop176 © 2010 IBM CorporationW02
Create an entry breakpoint
click
The entry breakpoint has been addedDeferred: The breakpoint is deferred until the source is loaded
The entry breakpoint has been addedDeferred: The breakpoint is deferred until the source is loaded
Click “Resume” to run the program until the breakpoint is triggered
Click “Resume” to run the program until the breakpoint is triggered
IBM Debug Tool for z/OS V10 Basic Mentor Workshop177 © 2010 IBM CorporationW02
After stopping at the entry breakpoint
The program stopped at the entry to SAM3
The program stopped at the entry to SAM3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop178 © 2010 IBM CorporationW02
Entry and exit breakpoints
Entry breakpointWill stop when a named subprogram is entered with a subsequent Resume or Run-to-LocationAnother option:
Stop at all function entries sets an entry breakpoint for all programsRight-click the program in the debug view to see this option
Considerations:With most compilers, the entered program must be compiled for debugging for the entry breakpoint to trigger
• Exceptions include debugging in disassembly modeDefer the breakpoint if the program is not already loaded
IBM Debug Tool for z/OS V10 Basic Mentor Workshop179 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop180 © 2010 IBM CorporationW02
Termination action buttons
Immediately terminate the application using action buttons
Immediately terminate the application using action buttons
Terminate: Immediate termination of the application. No more program statements run. RC=0 is returned to the environment.
Tip: CTRL+F2 is the shortcut
Terminate: Immediate termination of the application. No more program statements run. RC=0 is returned to the environment.
Tip: CTRL+F2 is the shortcut
Disconnect: Disconnect Debug Tool from the application. The program continues to run from the current location without the debugger.
Disconnect: Disconnect Debug Tool from the application. The program continues to run from the current location without the debugger.
IBM Debug Tool for z/OS V10 Basic Mentor Workshop181 © 2010 IBM CorporationW02
Click the “Terminate” button
Click the “Terminate” button
CTRL+F2 is the hotkey
Click the “Terminate” button
CTRL+F2 is the hotkey
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop182 © 2010 IBM CorporationW02
The debugging session ended
IBM Debug Tool for z/OS V10 Basic Mentor Workshop183 © 2010 IBM CorporationW02
Force an immediate termination with abend
right click11
Right click in the Debug view
Right click in the Debug view
Terminate and abend
Terminate and abend
click22
Terminate and abend Terminates the program and forces an abend.
Consider using this option to:• Capture the abend with IBM Fault Analyzer for z/OS (if installed) • Avoid running subsequent steps in a multi-step job • Roll back database updates
Terminate and abend Terminates the program and forces an abend.
Consider using this option to:• Capture the abend with IBM Fault Analyzer for z/OS (if installed)• Avoid running subsequent steps in a multi-step job• Roll back database updates
IBM Debug Tool for z/OS V10 Basic Mentor Workshop184 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug filesLoading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop185 © 2010 IBM CorporationW02
Providing program information for the debugger
Debug Tool reads a debug file for a program to display information about that program
The type of file needed depends on the compiler A SYSDEBUG file
Used with Enterprise COBOL and Enterprise PL/IThe compiler creates it when a TEST(…,SEP) compiler option is specified
A LANGX fileUsed with assembler, OS/VS COBOL, and COBOL II compiled with NOTESTIt is produced by a utility program (EQALANGX) that runs after a compile or assembly
A compiler listingUsed with older PL/I compilers, and COBOL II compiled with TEST
A dwarf or .mdbg fileUsed with XL C/C++ when certain compiler options are specified
The program source file Used with XL C/C++, and older versions of Enterprise PL/I
IBM Debug Tool for z/OS V10 Basic Mentor Workshop186 © 2010 IBM CorporationW02
The debugger can automatically locate the file for some compilers
Enterprise COBOL and Enterprise PL/I compilers embed the name ofthe SYSDEBUG file in the load module
The debugger can automatically load it if it exists
Load Library
Load Module SAM1‘library(SAM1)’
member SAM1
SYSDEBUG Library
IBM Debug Tool for z/OS V10 Basic Mentor Workshop187 © 2010 IBM CorporationW02
How the debugger locates debug files
The debugger searches for debug files in this order:(For COBOL, PL/I, assembler, and C/C++ other than .mdbg files)
For Enterprise COBOL and Enterprise PL/I programs, it will attempt to load the sysdebug file name that is embedded in the load moduleThen, if these commands were entered, the files and libraries that they specify are searched:
SET SOURCE …SET DEFAULT LISTINGS …
Then, if an EQADEBUG DD statement was coded in the JCL, the libraries in it's concatenation are searchedFinally, using the “Debug Tool GUI Source Look Up Path” to indicate the location of debug files
If a matching file is not found automatically, you can enter a command or click the “change text file” button to specify the correct file or library
For LANGX files, also specify an LDD command to load the file
IBM Debug Tool for z/OS V10 Basic Mentor Workshop188 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source filesLoading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop189 © 2010 IBM CorporationW02
Example of loading sysdebug, listings, dwarf, and source files
Use these examples for programs compiled with:Enterprise COBOLEnterprise PL/ICOBOL II (compiled with a TEST compiler option)PL/I for MVS and VMOS PL/IXL C/C++ (when not using a .mdbg file)
IBM Debug Tool for z/OS V10 Basic Mentor Workshop190 © 2010 IBM CorporationW02
A program was entered, but no debug file was found
The source window is empty
The source window is empty
A message is displayed
A message is displayed
IBM Debug Tool for z/OS V10 Basic Mentor Workshop191 © 2010 IBM CorporationW02
Change Text File (Method 1)
11
Click “Change text file"
Click “Change text file"
click
Enter the correct file. This mapping is not permanent
Enter the correct file. This mapping is not permanent
click22
IBM Debug Tool for z/OS V10 Basic Mentor Workshop192 © 2010 IBM CorporationW02
The debug file was loaded from the indicated location
The source code is now available
The source code is now available
IBM Debug Tool for z/OS V10 Basic Mentor Workshop193 © 2010 IBM CorporationW02
SET DEFAULT LISTING (Method 2)
Enter the “SET DEF LISTING” + location of the source information
Enter the “SET DEF LISTING” + location of the source information
Enter
IBM Debug Tool for z/OS V10 Basic Mentor Workshop194 © 2010 IBM CorporationW02
The debug file was loaded from the indicated location
The source code is now available
The source code is now available
The source was loaded from the indicated location
The source was loaded from the indicated location
IBM Debug Tool for z/OS V10 Basic Mentor Workshop195 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop196 © 2010 IBM CorporationW02
Example of loading LANGX debug files
Use this example to load LANGX debug files
LANGX files are used for programs compiled with:AssemblerVS COBOL II (compiled with the NOTEST compiler option)OS/VS COBOL
IBM Debug Tool for z/OS V10 Basic Mentor Workshop197 © 2010 IBM CorporationW02
A program was entered, but no Langx file was found
The source view shows machine code
The source view shows machine code
IBM Debug Tool for z/OS V10 Basic Mentor Workshop198 © 2010 IBM CorporationW02
Use a SET DEFAULT LISTINGS … command to specify LANGX file libraries
Enter one library, or a list of libraries in parentheses
Enter one library, or a list of libraries in parentheses
Enter
When entering library names, do not specify member names or use quotation marks
When entering library names, do not specify member names or use quotation marks
IBM Debug Tool for z/OS V10 Basic Mentor Workshop199 © 2010 IBM CorporationW02
Load the LANGX file with an LDD (load debug data) command
The LDD command loads a LANGX file into the debugger
The LDD command loads a LANGX file into the debugger
It will search the SET DEFAULT LISTINGS library or libraries for the specified member name
It will search the SET DEFAULT LISTINGS library or libraries for the specified member name
Enter
IBM Debug Tool for z/OS V10 Basic Mentor Workshop200 © 2010 IBM CorporationW02
The Langx file was loaded from the library
The SET DEFAULT LISTINGS setting remains in effect for other programs that are entered
The SET DEFAULT LISTINGS setting remains in effect for other programs that are entered
The source code is now available
The source code is now available
IBM Debug Tool for z/OS V10 Basic Mentor Workshop201 © 2010 IBM CorporationW02
Loading program debug files
SET DEFAULT LISTINGS library-name , orSET DEF LIST library-name , orSET DEF LIST ( library-1, library-2, library-3, … )
Defines a library or libraries whose members are searched for program debug filesYou can concatenate sysdebug files, langx files, compiler listings, and expanded source files all in the same list
LDD member-nameLoads the LANGX file in member-name from the library or libraries specified by the SET DEF LISTINGS … setting or an EQADEBUG DD
IBM Debug Tool for z/OS V10 Basic Mentor Workshop202 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop203 © 2010 IBM CorporationW02
The same interfaces to the debugger are available in both batch and CICS environments:
Terminal full-screen interfaceRemote graphical user interface
Using the debugger is the same in CICS and batch
However, the method used to start the debugger is unique in CICS
Starting Debug Tool with CICS applications
IBM Debug Tool for z/OS V10 Basic Mentor Workshop204 © 2010 IBM CorporationW02
Starting debug Tool with CICS Programs
The Debug Tool installer selects one of these methods to start the debugger in CICS
The DTCN transactionUsed to define a profile to start the debugger for one or more CICS programsThere is an optional graphical user interface for DTCN
DTCN profiles can be set from a workstation without using a terminal
DTCN is a feature of IBM Debug Tool for z/OS
The CADP transactionUsed to define one or more profiles to start the debugger for CICS programs CADP is a feature of CICS
IBM Debug Tool for z/OS V10 Basic Mentor Workshop205 © 2010 IBM CorporationW02
Using Debug Tool's graphical user interface (continued)Using the debugger
Stepping through statements and running the program Program statement breakpoints Monitoring variables Making breakpoints conditional Watch breakpoints Program entry and exit breakpoints Ending the debugging session
Loading program debug files Loading sysdebug, listings, dwarf, and source files Loading LANGX files
Debugging CICS ApplicationsCreating and editing a DTCN profile using the GUI plug-in
Debug Tool training sections Page 2 of 3
IBM Debug Tool for z/OS V10 Basic Mentor Workshop206 © 2010 IBM CorporationW02
In CICS Explorer, show the DTCN Profiles View
Once the DTCN plug-in is installed, access the view by opening the “Other” view menu
Once the DTCN plug-in is installed, access the view by opening the “Other” view menu
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop207 © 2010 IBM CorporationW02
Select the DTCN profiles view
Select the “DTCN Profiles” view Select the “DTCN Profiles” view
dbl click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop208 © 2010 IBM CorporationW02
The DTCN profiles view is displayed
“Right click” actions:Activate – activate a profileCreate – begin wizard driven profile creationEdit – wizard driven profile editingDelete – remove a profileRefresh – refresh viewPreferences – edit the DTCN connection information defined at installation
The “DTCN Profiles” view is displayed near the “Debug Console” view
The “DTCN Profiles” view is displayed near the “Debug Console” view
IBM Debug Tool for z/OS V10 Basic Mentor Workshop209 © 2010 IBM CorporationW02
Create a new DTCN Profile
In the “DTCN Profiles” view, right click and select “Create” In the “DTCN Profiles” view, right click and select “Create”
RT click
click
11 22
IBM Debug Tool for z/OS V10 Basic Mentor Workshop210 © 2010 IBM CorporationW02
Specify your CICS user ID and "create"
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop211 © 2010 IBM CorporationW02
Specify the settings for your DTCN profile
Enter the transaction or terminal ID
Enter the transaction or terminal ID
click
Select active or inactive for profile status
Select active or inactive for profile status
“*” is a wild card“*” is a wild card
click
Optionally enter Load Module or Compile unit pairs
Optionally enter Load Module or Compile unit pairs
Click next to continueClick next to continue
IBM Debug Tool for z/OS V10 Basic Mentor Workshop212 © 2010 IBM CorporationW02
Selecting “TCP” updates the TCPIP address
Selecting “TCP” updates the TCPIP address
You can change the Test run-time options
Ensure that the session type is set to TCP. The option for mainframe interface, MFI is available
Ensure that the session type is set to TCP. The option for mainframe interface, MFI is available
Ensure that port number corresponds to the port number RDz is listening to
Ensure that port number corresponds to the port number RDz is listening to
click
IBM Debug Tool for z/OS V10 Basic Mentor Workshop213 © 2010 IBM CorporationW02
A new DTCN profile was created
IBM Debug Tool for z/OS V10 Basic Mentor Workshop214 © 2010 IBM CorporationW02
Editing a DTCN profile
In the “DTCN Profiles” view, right click the profile and and select “Edit”
In the “DTCN Profiles” view, right click the profile and and select “Edit”
RT click
click
11 22
IBM Debug Tool for z/OS V10 Basic Mentor Workshop215 © 2010 IBM CorporationW02
DTCN profile editor
Enter changes to the DTCN Profile
Enter changes to the DTCN Profile
IBM Debug Tool for z/OS V10 Basic Mentor Workshop216 © 2010 IBM CorporationW02
Starting the Debug Tool using a DTCN profile
The profile is added to the DTCN profiles list, and ready to trap the indicated transaction
The profile is added to the DTCN profiles list, and ready to trap the indicated transaction
Open a CICS terminalOpen a CICS terminal
IBM Debug Tool for z/OS V10 Basic Mentor Workshop217 © 2010 IBM CorporationW02
Run the transaction
The The
IBM Debug Tool for z/OS V10 Basic Mentor Workshop218 © 2010 IBM CorporationW02
The DTCN profile triggered the debugger when the application ran
Open a CICS terminalOpen a CICS terminal
IBM Debug Tool for z/OS V10 Basic Mentor Workshop219 © 2010 IBM CorporationW02
Manage compiled language exception breakpoints
click22
11
IBM Debug Tool for z/OS V10 Basic Mentor Workshop220 © 2010 IBM CorporationW02
Reference
Visit the IBM Problem determination tools website at www.ibm.com/software/awdtools/deployment/
Get the latest news about IBM problem determination tools productsDownload product manuals
Recommended Redbook: "Introduction to the IBM Application Development Tools on z/OS and OS/390"
Go to www.redbooks.ibm.com and search for “PD Tools”It describes the IBM Application Development Tools for z/OS and OS/390 and includes scenarios that show how to use the tools to recognize, locate, and fix errors in application programs using:
IBM Fault AnalyzerIBM File ManagerIBM Debug ToolIBM Application Performance AnalyzerIBM Workload Simulator
IBM Debug Tool for z/OS V10 Basic Mentor Workshop221 © 2010 IBM CorporationW02
Take the Debug Tool online tutorial
Missed a class? Need a refresher course?Debug Tool training is available on the IBM websiteGo to: http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp/then click Debug Tool for z/OS (on the left side of the screen)
then click web-based training (on the left side of the screen)