Debug Tool provides some basic levels of tracing to the log. However, much of the tracing requires a programmable file, and most users will not attempt to create a USE file, and debug the commands to provide tracing. In addition, some of the commands stored in the use file are retained by the save settings. This can cause unwanted, and confusing results on subsequent runs. Therefore, it makes sense to establish simple tracing commands. It may not be feasible to implement each of the trace commands in all languages. If not, a message such as "This trace level is not supported by the xxxx compiler" would be in order.
Users need a three level, simplfied tracing capability for all languages: COBOL, PL/I and C/C++.
Trace level 1: Trace each statement. Show the statement number, line, and optionally the variables associated with this trace. This can be accomplished in today's environment by using statements such as
SETAUTO ON LOG;
STEP 9999
When procedures, paragraphs, or new programs are entered and exited, the trace should make note of these entries. (in other words, Trace level 1 is inclusive of Trace level 2 and 3)
Trace level 2: Trace each label. This is very similar to the COBOL routine
AT GLOBAL LABEL PERFORM;
LIST LINES %LINE;
GO;
END-PERFORM;
In addition to the line number and line, the program name should also be shown. (Trace level 2 includes trace level 3)
Trace level 3: Trace each program as entered and exited.
It should list the level, program name, and if variables are passed, the contents of the variables.
- Add trace functionality specific to individual statements, variable changes, and labels. Then you could set traces at specific points - sort of like a breakpoint that doesn't stop.
Possible command syntax:
SET TRACE ON/OFF lvl VAR/NOVAR GLOBAL/LOCAL
(where lvl can be any of:
- ALL (all statements, labels, and module entry/exits)
- # (statement number)
- variable name
- LABEL * (all labels)
- LABEL name
- MODULE (all entry/exits)
- ON/OFF allows the trace to be turned on or off at user's will.
- VAR/NOVAR woud display variables associated with the trace
- GLOBAL/LOCAL - Specific program, or all programs in the debug tool session
- xxxxx would override the number of DT invocations or timer before Debug Tool paused and asked the user if they wanted to continue.
GUI implications:
The remote GUI does not support a log file. The user would likely allocate a log file during this analysis. Therefore, until the GUI includes log functions, the tracing would be limited to non-GUI debug tool sessions.
The following text is from an analysis of Xpediter vs IBM Debug Tool in 2002 by IBM Internal Accounts, who use Compuware. Very little has changed in this area, to my knowledge.
Xpedtier:. A trace may be initiated for any terminal, transaction or program so that the path of execution can be followed. This is accomplished simply by entering the desired terminal, transaction or program on a screen.
IBM Debug Tool: There is no simple online way to initiate a trace with DEBUG.
Consequence: Loss of productivity - the ability to follow a path of execution to find abends will be lost.
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Development Tooling
Product - IBM Debug for z/OS
Component - z/OS Debugger
For recording keeping, the previous attributes were:
Brand - Servers and Systems Software
Product family - Development Tooling
Product - IBM Debug Tool
Component - Host
Thank you for taking the time to provide your ideas to the z/OS Debugger team. This request has been delivered into a previously released version of the product. We truly value our relationship with you and appreciate your willingness to share details about your experience, your recommendations and ideas. If you have any additional feedback or thoughts, or if there is anything else I can do, please do not hesitate to reply to this message to continue the conversation. (Trace commands & auto-monitor commands are available in Eclipse/3270. )
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Development Tooling
Product - IBM Debug Tool
For recording keeping, the previous attributes were:
Brand - WebSphere
Product family - Enterprise Tooling
Product - IBM Debug Tool