Vous êtes sur la page 1sur 2

IBM

Debug Tool and Debug Tool Utilities and Advanced Functions


This reference card was developed to assist customers who are new to IBMs Debug Tool and Debug Tool Utilities and Advanced Functions products. This card is not representative of the entire command set of Debug Tool. It is only meant to answer some of the How do I . questions that a developer who is new to the product, might have. A complete set of Debug Tool manuals can be obtained, free of charge, from the IBM Debug Tool website at the following URL: (Summary of Commands, Users Guide, Reference, and Messages, and Customization Guide in .pdf format www-306.ibm.com/software/awdtools/debugtool/ (select LIBRARY for manuals) "The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this at any time without notice." For Use with Debug Tool and Debug Tool Utilities and Advanced Functions Copyright International Business Machines Corporation 2006. All rights reserved.

Set Break or Stopping Points in a Program A Line command in the Source Window prefix area; set a stopping point in the line where the A is entered AT 509 From the command line; set a stopping point when line 509 is reached AT EXIT * From the command line; set a stopping point at every program Exit point AT ENTRY * From the command line; set a stopping point at Entry to each program Remove Break or Stopping Points in a Program C Line command in the Source Window prefix area; removes a stopping point at the line where the A is entered CLEAR AT 509 From the command line; removes a stopping point from line 509 CLEAR AT EXIT * From the command line: removes a stopping point from each program Exit point CLEAR AT ENTRY * From the command line; removes stopping points program Entry points CLEAR AT From the command line; remove ALL break points Setting Conditional Break or Stopping Points Stop execution AFTER the AT CHANGE ITEMNO value of ITEMNO changes Conditional breakpoint AT CHANGE ITEMNO example that shows how to WHEN ITEMNO = stop when a variable reaches '00005' a specific value, find out the PERFORM line number (QUERY QUERY LOCATION ; LOCATION), list a literal LIST ( 'itemno value, itemno changed here changed here', HOUSE-RECORD ) ; along with some data of END-PERFORM ; importance Removing Conditional Break or Stopping Points From the command line; clear CLEAR AT (remove) the breakpoint set CHANGE ITEMNO whenever ITEMNO changes Viewing Data within a Program From the command line; adds MONITOR LIST the variable ITEMNO and its ITEMNO current value to the Monitor Window LIST ITEMNO From the command line; writes the variable ITEMNO and the current value of the variable to the Log From the command line; SET AUTOMONITOR ON automatically display the variables and values of the variables as the program moves from line to line SET AUTOMON ON Lists variables/line numbers in LOG log

Set a deferred breakpoint (program not yet known) AT ENTRY cuname If the blocki/cuname are equal Monitor Window Prefix commands CL in PREFIX area Issues CLEAR MONITOR n HEX in PREFIX area Displays HEX value DEF in PREFIX area Displays Default value Changing Values of Variables MOVE 24 TO From the command line; ACCUM-X replaced the value of ACCUMX with the value 24 Overtype the value From the Monitor Window; overtype the current value shown in the Monitor Window. Generates a MOVE or SET command as confirmation. Press Enter to confirm changing the value Return/Find the Next Line to Execute QUALIFY RESET From the command line; positions the Source Window to the next line to execute Loading Assembler Debug Data (Source) LDD asmcsect Load Debug Data into source window from EQALANGX Working with Called Programs STEP INTO From the command line; bring up the program being Called and continue execution STEP OVER From the command line; run the called program without bringing up the source code for the Called program Controlling Program Execution STEP From the command line; Execute one instruction PF 2 Using a PF Key; Execute one instruction GO From the command line; Run the program until an Abend, Break Point, or until the Program completes PF 9 Using a PF Key; Run the program until an Abend, Break Point, or until the Program completes JUMPTO 27 From the command line; Repositions the execution pointer to line 27 and stops (new JUMPTO command) RUNTO 27 Runs program to line 27 and stops End Program Testing QUIT Ends debugging and execution QQUIT Ends debugging with no prompt QUIT DEBUG Ends debugging but program execution continues QUIT ABEND Causes a ROLLBACK for IMS and/or DB2

CICS Pseudo Conversational Programs SET TEST ERROR When an LE Exception is raised do not stop Prevents stop on EXEC CICS RETURN) (Recommended for CICS) Save breakpoints or monitored values Restore breakpoints and/or monitored values

PF 6 PF 7 PF 8 PF 9 PF 10 PF 11 PF 12 PF 13 PF 14 PF 15 PF 16 PF 17 PF 18 PF 19 PF 20 PF 21 PF 22 PF 23 PF 24 Glossary Preferences File

SAVE BPS|MONITORS RESTORE BPS|MONITORS

Technique to Add and Test COBOL Logic During a Debug Tool Session AT 234 PERFORM ; IF .. ; MOVE . ; ELSE ; END-IF ; END-PERFORM ; GOTO 233 Set a breakpoint where the logic will be inserted. Begin your logic with a PERFORM statement. Use COBOL statements as needed remembering to use the ENDfor Conditional and Perform logic. Reposition the execution pointer, if needed. (Will execute at full speed unless you also issue the AT 233) Issue multiple STEP commands to verify that the logic is correct.

SETBREAK = AT TOGGLE CURSOR; UP = SCROLL UP ; DOWN = SCROLL DOWN ; GO 1 = STEP ZOOM WIN = IMMEDIATE ZOOM ; ZOOM LOG = WINDOW ZOOM LOG ; GO = GO ; PF1/12 = SET KEYS 12 ; CLR KEEP = CLEAR MONITOR ; QUIT = QUIT ; LIST CSR = LIST CURSOR ; FIND = IMMEDIATE FIND ; AT/CLEAR = AT TOGGLE ; TOP = TOP; BOTTOM = BOT ; GO 1 = STEP ; ZOOM WIN = IMMEDIATE ZOOM ; ZOOM LOG = WINDOW ZOOM LOG ; RETRIEVE = IMMEDIATE RETRIEVE ; INSPPREF; a file that contains a series of Debug Tool Commands to customize the debugging environment for the developer INSPCMDS; a file that contains a series of Debug Tool Commands that control the execution of the test session. INSPLOG; a file where Debug Tool tracks the commands issued and writes the results of various Debug Tool Commands. Interactive command for specifying a file to set Debug Tool Preferences. Should not contain commands that control execution of the program. Debugging information for OS/VS COBOL, or Assembler programs Userid.DBGTOOL.SAVESETS Allows saving/restoring of SETTINGS between debugging executions Userid.DBGTOOL.SAVEBPS Allows saving/restoring of breakpoints and MONITOR values between debugging sessions EQADEBUG in JCL can point to location of SYSDEBUG, EQALANGX information

How to Invoke Debug Tool TEST run-time parm with VTAM terminal PARM='/TEST(,,CMDS,MFI%TRMLU006:*)' (TRMLU006 identifies a 2nd session VTAM term) TEST run-time parm with Terminal Interface Mgr PARM='/TEST(,,CMDS,VTAM%JWINCHE:*)' VTAM%JWINCHE identifies TSO USER JWINCHE (you must have logged into the Terminal Interface Manager session with this userid) TEST run-time option with IP address for remote Debugger: PARM='/TEST(,,,TCPIP&9.48.121.99%8001:*) (8001 is the listening port for the PC debugger DTSU allows using TSO session for debugging. You can launch from within DTSU and have the debug session launch on your TSO terminal (you can COPY in from existing batch JCL to get file allocations, etc) CADP with CICS/TS V2.3 and beyond allows defining MULTIPLE debugging profiles defining programs for Debug tool. The profiles can be ACTIVATED and INACTIVATED for Debugging purposes, and profile PERSISTS across CICS invocations. DTCN can be used to define a SINGLE debugging profile/terminal to identify programs for Debug Tool but profile is not retained across CICS invocations.

STEP

Technique to Bypass an Abend condition GO BYPASS Bypass the exception condition and stop at the next break point Technique to CALL Fault Analyzer for DUMP Call %FA Produces Fault Analyzer style DUMP where command issued Program Function (PF) Keys Defaults PF 1 / 13 PF 2 / 14 PF 3 / 15 PF 4 / 16 PF 5 / 17 PF 6 / 18 PF 7 / 19 PF 8 / 20 PF 9 / 21 PF 10 / 22 PF 11 / 23 PF 12 / 24 Suggested PF 1 PF 2 PF3 PF 4 PF 5 HELP STEP END LIST FIND AT/CLEAR UP DOWN GO ZOOM ZOOM LOG RETRIEVE PF13/24 = SET KEYS 24 ; KEEP = MON LOCAL %CU LIST CURSOR ; QUIT = QUIT ; CURRLINE = QUALIFY RESET FIND = FIND ;

Command File

Log File

Notes: CALL %VER ALWAYS USE CALL %VER so you have a record in your log file of the LEVEL of Debug Tool being used. Very important for determining and analyzing problems. Always set up a LOG FILE so you have a RECORD of your debugging session. If you dont need it, no harm is done, but if you need it, then great benefit to not have to recreate the debugging session. For ASSEMBLER, disassembly and OS/VS COBOL use DO END for a group of statements to be performed in a block For PL/I use BEGINEND or DOEND to group multiple commands to be executed together. These can be PL/I statements or Debug Tool commands For C/C++ use the single set of braces to enclose multiple commands into a group {..} CALL %HOGAN invoke HOGAN application (CICS) CALL %DUMP invoke LE dump CALL %FA invoke Fault Analyzer (dump) CALL %CEBR invoke CICS temp storage browser CALL %CECI invoke command interpreter DTCXXO transaction to TURN ON SUPPORT for non-LE assembler and/or OS/VS COBOL in CICS (Must issue this transaction in order to debug non-LE assembler or OS/VS COBOL under CICS) (Use DTCXXF to turn support off)

USE file

EQALANGX file Save settings file

Save breakpoints/monitors

Separate DEBUG file

Revised: 28 December 2005

Vous aimerez peut-être aussi