Sei sulla pagina 1di 15

Understanding Seminar Series:

Natural DEBUG Tutorial

Notes:

The following is a simple tutuorial on the use of the DEBUG utility. It outlines a couple of simple techniques for using the utility in debugging programs. this utility is particulary useful in debugging CONSTRUCT programs where multiple programs are being called.

The following is an example program for learning DEBUG...

> DEBUG > + PROGRAM ALL ....+....1....+....>>> SOURCE HAS BEEN STOWED 0010 DEFINE DATA LOCAL 0020 1 #I (P3) 0030 1 #WORD (A10) 0040 END-DEFINE 0050 * 0060 FOR #I = 1 TO 10 0070 /* 0080 ASSIGN #WORD = 'STUDY' 0090 ASSIGN #WORD = 'HARDER' X 0100 ASSIGN #WORD = 'GREAT' 0110 ASSIGN #WORD = 'GPA' 0120 /* 0130 IF #I = 3 0140 ASSIGN #WORD = 'GRADUATE!' 0150 END-IF 0160 /* 0170 END-FOR 0180 * 0190 END 0200

AJGTEST LIB TEST <<<..+....MODE STRUCT..

Insure you have STOWED your program. In order to use the Debugger, the module must be stowed and the source must NOT have been modified and saved. If you have done this, just STOW again. Start DEBUG with the DEBUG command here or at the NEXT prompt.

Page 1

17:41:26 TEST MODE OFF CODE ---T E S B W C L V ? . ---CODE .. L

*** NATURAL TEST UTILITIES *** - DEBUG MAIN MENU FUNCTION ----------------------------SET TEST MODE ON DEBUG ENVIRONMENT MAINTENANCE SPY MAINTENANCE BREAKPOINT MAINTENANCE WATCHPOINT MAINTENANCE CALL STATISTIC MAINTENANCE LIST OBJECT SOURCE VARIABLE FACILITY HELP EXIT ----------------------------OBJECT NAME .. AJGTEST_

98-04-07 OBJECT

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Set a BREAKPOINT by listing the source. This is easier than using the BREAKPOINT MAINTENANCE command.
17:42:08 TEST MODE OFF C -__ __ __ __ __ __ __ __ __ SE __ __ __ __ __ LINE ---0010 0020 0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 98-04-07 OBJECT AJGTEST TOP OF DATA SOURCE MESSAGE -----------------------------------------------------------------DEFINE DATA LOCAL : 1 #I (P3) : 1 #WORD (A10) : END-DEFINE : * : FOR #I = 1 TO 10 : /* : ASSIGN #WORD = 'STUDY' : ASSIGN #WORD = 'HARDER' : ASSIGN #WORD = 'GREAT' : ASSIGN #WORD = 'GPA' : /* : IF #I = 10 : ASSIGN #WORD = 'GRADUATE!' : END-IF : *** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE -

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST SCAN FLIP + LEFT RIGHT CANC

Set the BREAKPOINT by entering an 'SE' on the line you want the break to take place on. Press enter twice.

Page 2

17:42:44 TEST MODE OFF C -__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ LINE ---0010 0020 0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150

98-04-07 OBJECT AJGTEST TOP OF DATA SOURCE MESSAGE -----------------------------------------------------------------DEFINE DATA LOCAL : 1 #I (P3) : 1 #WORD (A10) : END-DEFINE : * : FOR #I = 1 TO 10 : /* : ASSIGN #WORD = 'STUDY' : ASSIGN #WORD = 'HARDER' : ASSIGN #WORD = 'GREAT' : AJGTEST0100 ASSIGN #WORD = 'GPA' : /* : IF #I = 10 : ASSIGN #WORD = 'GRADUATE!' : END-IF :

*** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE -

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST SCAN FLIP + LEFT RIGHT CANC

Press PF3 to go back to the main menu.


17:43:53 TEST MODE OFF CODE ---T E S B W C L V ? . ---CODE .. W *** NATURAL TEST UTILITIES *** - DEBUG MAIN MENU FUNCTION ----------------------------SET TEST MODE ON DEBUG ENVIRONMENT MAINTENANCE SPY MAINTENANCE BREAKPOINT MAINTENANCE WATCHPOINT MAINTENANCE CALL STATISTIC MAINTENANCE LIST OBJECT SOURCE VARIABLE FACILITY HELP EXIT ----------------------------OBJECT NAME .. AJGTEST_ 98-04-07 OBJECT AJGTEST

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Set a Watchpoint by entering a 'W' in Code field.


17:50:27 TEST MODE OFF *** NATURAL TEST UTILITIES *** - WATCHPOINT MAINTENANCE CODE ---T A FUNCTION --------------------SET TEST MODE ON ACTIVATE WATCHPOINT 98-04-07 OBJECT AJGTEST

Page 3

B C D M S ? . ---CODE .. S

DEACTIVATE WATCHPOINT DELETE WATCHPOINT DISPLAY WATCHPOINT MODIFY WATCHPOINT SET WATCHPOINT HELP EXIT --------------------OBJECT ...... AJGTEST_ VARIABLE .... #WORD______________________________

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Enter an 'S' in the Code field and the name of the variable in the Variable field. Press enter.

17:52:14 TEST MODE OFF

*** NATURAL TEST UTILITIES *** - WATCHPOINT MAINTENANCE CODE ---T A B C D M S ? . ---CODE .. M

98-04-07 OBJECT AJGTEST

FUNCTION --------------------SET TEST MODE ON ACTIVATE WATCHPOINT DEACTIVATE WATCHPOINT DELETE WATCHPOINT DISPLAY WATCHPOINT MODIFY WATCHPOINT SET WATCHPOINT HELP EXIT --------------------OBJECT ...... AJGTEST_ VARIABLE .... #WORD___________________________

WATCHPOINT #WORD SET FOR VARIABLE #WORD . COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Note the application message just above the Command line. If you wish, you can press PF3 to go back to the Main Menu. The default is to stop the program every time the variable changes. For this exercise, enter an 'M' to Modify the Watchpoint.
17:58:46 TEST MODE OFF *** NATURAL TEST UTILITIES *** - MODIFY WATCHPOINT 98-04-07 OBJECT AJGTEST

SPY NUMBER ............... 2 INITIAL STATE ............ A ( A - ACTIVE, P - PENDING) WATCHPOINT NAME .......... #WORD_______

Page 4

OBJECT NAME .............. AJGTEST_ VARIABLE NAME ............ #WORD_____________________________________ SKIPS BEFORE EXECUTION.... 0____ NUMBER OF EXECUTIONS ..... 0____ COMMANDS .. BREAK_______________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST SAVE FLIP ALPHA HEX CANC

When you receive this screen, press PF10.


18:01:47 TEST MODE OFF *** NATURAL TEST UTILITIES *** MODIFY WATCHPOINT (ALPHANUMERIC) 2 A ( A - ACTIVE, P - PENDING) #WORD AJGTEST #WORD 98-04-07 OBJECT AJGTEST

SPY NUMBER ............... INITIAL STATE ............ WATCHPOINT NAME .......... OBJECT NAME .............. VARIABLE NAME ............

SKIPS BEFORE EXECUTION ... 0 NUMBER OF EXECUTIONS ..... 0 MOD __________

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST SAVE FLIP ALPHA HEX CANC

When you receive this screen, change it to the entry below:


18:01:47 TEST MODE OFF *** NATURAL TEST UTILITIES *** MODIFY WATCHPOINT (ALPHANUMERIC) 2 A ( A - ACTIVE, P - PENDING) #WORD AJGTEST #WORD 98-04-07 OBJECT AJGTEST

SPY NUMBER ............... INITIAL STATE ............ WATCHPOINT NAME .......... OBJECT NAME .............. VARIABLE NAME ............

SKIPS BEFORE EXECUTION ... 0 NUMBER OF EXECUTIONS ..... 0 EQ GRADUATE!_

Page 5

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST SAVE FLIP ALPHA HEX CANC

This will cause the WATCHPOINT to trigger ONLY if the variable is equal to 'GRADUATE!'. Press ENTER then PF3.
18:05:35 TEST MODE OFF *** NATURAL TEST UTILITIES *** - WATCHPOINT MAINTENANCE CODE ---T A B C D M S ? . ---CODE .. _ 98-04-07 OBJECT AJGTEST

FUNCTION --------------------SET TEST MODE ON ACTIVATE WATCHPOINT DEACTIVATE WATCHPOINT DELETE WATCHPOINT DISPLAY WATCHPOINT MODIFY WATCHPOINT SET WATCHPOINT HELP EXIT --------------------OBJECT ...... AJGTEST_ VARIABLE .... #WORD___________________________

WATCHPOINT #WORD MODIFIED. COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Press PF3 to go back to the Main Menu.


18:06:35 TEST MODE OFF CODE ---T E S B W C L V ? . ---CODE .. T *** NATURAL TEST UTILITIES *** - DEBUG MAIN MENU FUNCTION ----------------------------SET TEST MODE ON DEBUG ENVIRONMENT MAINTENANCE SPY MAINTENANCE BREAKPOINT MAINTENANCE WATCHPOINT MAINTENANCE CALL STATISTIC MAINTENANCE LIST OBJECT SOURCE VARIABLE FACILITY HELP EXIT ----------------------------OBJECT NAME .. AJGTEST_ 98-04-07 OBJECT AJGTEST

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---

Page 6

HELP

EXIT

LAST

FLIP

CANC

Enter a 'T' in the Code field to activate the Debugger.


18:07:59 TEST MODE ON CODE ---T E S B W C L V ? . ---CODE .. _ *** NATURAL TEST UTILITIES *** - DEBUG MAIN MENU FUNCTION ----------------------------SET TEST MODE OFF DEBUG ENVIRONMENT MAINTENANCE SPY MAINTENANCE BREAKPOINT MAINTENANCE WATCHPOINT MAINTENANCE CALL STATISTIC MAINTENANCE LIST OBJECT SOURCE VARIABLE FACILITY HELP EXIT ----------------------------OBJECT NAME .. AJGTEST_ 98-04-07 OBJECT AJGTEST

TEST MODE STARTED. COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP EXIT LAST FLIP CANC

Note that the 'Test Mode' indicator in the upper left corner is now set to ON. Also, the indicator on the Menu Selection 'T' is now set to OFF. This is a little confusing at first. The one to pay attention to is the one in the upper left corner. Press PF3 to get back to the editor. NOTE: If you had invoked the Debugger from the NEXT prompt, you would be returned to there.
> AJGTEST > + PROGRAM AJGTEST LIB TEST ALL ....+....1....+....>>> SOURCE HAS BEEN STOWED <<<..+....MODE STRUCT.. 0010 DEFINE DATA LOCAL 0020 1 #I (P3) 0030 1 #WORD (A10) 0040 END-DEFINE 0050 * 0060 FOR #I = 1 TO 10 0070 /* 0080 ASSIGN #WORD = 'STUDY' 0090 ASSIGN #WORD = 'HARDER' X 0100 ASSIGN #WORD = 'GREAT' 0110 ASSIGN #WORD = 'GPA' 0120 /* 0130 IF #I = 3 0140 ASSIGN #WORD = 'GRADUATE!' 0150 END-IF 0160 /* 0170 END-FOR 0180 * 0190 END 0200 ....+..CURRENT SOURCE SIZE: 312 CHAR. FREE: 126361 ...+... S 19 L 1

Page 7

The Breakpoint you have just set in the Debugger will cause the program to stop on line 100 every time that line is executed. The Watchpoint you set for #WORD will cause the program to stop only when #WORD is equal to 'GRADUATE!'. In this case, that will happen when #I is equal to 3. Execute the module by typing the modules name and pressing enter.
> AJGTEST > + PROGRAM AJGTEST LIB TEST ALL ....+....1....+....>>> SOURCE HAS BEEN STOWED <<<..+....MODE STRUCT.. 0010 DEFINE DATA +-----------------------------------+ 0020 1 #I (P3) | >>> DEBUGGING FACILITY <<< | 0030 1 #WORD (A10 | | 0040 END-DEFINE | BREAK BY BREAKPOINT AJGTEST0100 | 0050 * | AT LINE 100 OF OBJECT AJGTEST | 0060 FOR #I = 1 T | | 0070 /* | G GO | 0080 ASSIGN #WO | L LIST BREAK | 0090 ASSIGN #WO | M DEBUG MAIN MENU | X 0100 ASSIGN #WO | R RUN (TEST MODE OFF) | 0110 ASSIGN #WO | V VARIABLE FACILITY | 0120 /* | | 0130 IF #I = 3 | ENTER CODE ..: L | 0140 ASSIGN # | | 0150 END-IF +-----------------------------------+ 0160 /* 0170 END-FOR 0180 * 0190 END 0200 ....+..CURRENT SOURCE SIZE: 312 CHAR. FREE: 126361 ...+... S 19 L 1

When you get this popup window, enter an 'L' in the Enter Code field and press enter.
18:37:41 TEST MODE ON C -__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ LINE ---0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 *** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE 98-04-07 OBJECT AJGTEST MESSAGE -----------: : : : : : : LASTLINE : AJGTEST0100 : : : : : : :

SOURCE ------------------------------------------------------1 #WORD (A10) END-DEFINE * FOR #I = 1 TO 10 /* ASSIGN #WORD = 'STUDY' ASSIGN #WORD = 'HARDER' ASSIGN #WORD = 'GREAT' ASSIGN #WORD = 'GPA' /* IF #I = 3 ASSIGN #WORD = 'GRADUATE!' END-IF /* END-FOR

COMMAND ===> DISPLAY VARIABLE #I ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST SCAN FLIP + LI BR LEFT RIGHT CANC

Page 8

This will cause the Debugger to list the object source and display the line where the Breakpoint or Watch point happened. It will be highlighted. On the Command line enter 'display variable #I'. This will show you the value contained in #I.
18:42:45 TEST MODE ON *** NATURAL TEST UTILITIES *** DISPLAY VARIABLE (ALPHANUMERIC) 98-04-07 OBJECT AJGTEST

VARIABLE .. #I FORMAT .... P 1 3.0

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST MOD FLIP LI BR ALPHA HEX CANC

In the field just below the Format field you will see the current value of the #I field. Press PF3 to return to the previous screen.
18:46:13 TEST MODE ON C -__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ LINE ---0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 *** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE 98-04-07 OBJECT AJGTEST MESSAGE -----------: : : : : : : LASTLINE : AJGTEST0100 : : : : : : :

SOURCE ------------------------------------------------------1 #WORD (A10) END-DEFINE * FOR #I = 1 TO 10 /* ASSIGN #WORD = 'STUDY' ASSIGN #WORD = 'HARDER' ASSIGN #WORD = 'GREAT' ASSIGN #WORD = 'GPA' /* IF #I = 3 ASSIGN #WORD = 'GRADUATE!' END-IF /* END-FOR

COMMAND ===> ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST SCAN FLIP + LI BR LEFT RIGHT CANC

Press PF2 a few times to practice Single Stepping thru the source. (NOTE: This tutorial will not show screens for this.) After Single Stepping (PF2) a few times, enter 'GO' in the Command line and press enter.

Page 9

18:46:13 TEST MODE ON C -__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ LINE ---0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 SOURCE ---------1 #WORD (A END-DEFINE * FOR #I = 1 /* ASSIGN # ASSIGN # ASSIGN # ASSIGN # /* IF #I = ASSIGN END-IF /* END-FOR

*** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE -

98-04-07 OBJECT AJGTEST

+-----------------------------------+ MESSAGE | >>> DEBUGGING FACILITY <<< | ----------------| | : | BREAK BY BREAKPOINT AJGTEST0100 | : | AT LINE 100 OF OBJECT AJGTEST | : | | : | G GO | : | L LIST BREAK | : | M DEBUG MAIN MENU | : LASTLINE | R RUN (TEST MODE OFF) | : AJGTEST0100 | V VARIABLE FACILITY | : | | : | ENTER CODE ..: G | : | | : +-----------------------------------+ : : :

COMMAND ===> GO ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST SCAN FLIP + LI BR LEFT RIGHT CANC

For this tutorial, enter a 'G' in the Enter Code field and press enter two times.
18:46:13 TEST MODE ON C -__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ LINE ---0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 SOURCE ---------1 #WORD (A END-DEFINE * FOR #I = 1 /* ASSIGN # ASSIGN # ASSIGN # ASSIGN # /* IF #I = ASSIGN END-IF /* END-FOR *** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE 98-04-07 OBJECT AJGTEST

+-----------------------------------+ MESSAGE | >>> DEBUGGING FACILITY <<< | ----------------| | : | BREAK BY WATCHPOINT #WORD | : | AT LINE 170 OF OBJECT AJGTEST | : | | : | G GO | : | L LIST BREAK | : | M DEBUG MAIN MENU | : LASTLINE | R RUN (TEST MODE OFF) | : AJGTEST0100 | V VARIABLE FACILITY | : | | : | ENTER CODE ..: L | : | | : +-----------------------------------+ : : :

COMMAND ===> GO ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST SCAN FLIP + LI BR LEFT RIGHT CANC

Enter an L in the Enter Code field and press enter.


18:53:36 TEST MODE ON *** NATURAL TEST UTILITIES *** - LIST OBJECT SOURCE 98-04-07 OBJECT AJGTEST BOTTOM OF DATA

Page 10

C -__ __ __ __ __ __ __ __ __ __

LINE ---0100 0110 0120 0130 0140 0150 0160 0170 0180 0190

SOURCE ------------------------------------------------------ASSIGN #WORD = 'GREAT' ASSIGN #WORD = 'GPA' /* IF #I = 3 ASSIGN #WORD = 'GRADUATE!' END-IF /* END-FOR * END

MESSAGE -----------: AJGTEST0100 : : : : LASTLINE : : : #WORD : :

COMMAND ===> DISPLAY VARIABLE #WORD ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST SCAN FLIP + LI BR LEFT RIGHT CANC

Enter 'display variable #word' on the Command line and pressed enter'
18:59:19 TEST MODE ON *** NATURAL TEST UTILITIES *** DISPLAY VARIABLE (ALPHANUMERIC) 98-04-07 OBJECT AJGTEST

VARIABLE .. #WORD FORMAT .... A 10

GRADUATE!

COMMAND ===> STOP ENTER-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--HELP STEP EXIT LAST MOD FLIP LI BR ALPHA HEX CANC

As you can see, the value of the variable #WORD is 'GRADUATE!'. Later, take a closer look at the program. You can see that #WORD has had several values since the program was initially run. The only place and time that its value was 'GRADUATE!' is when #I was valued at 3. Enter 'stop' on the command line to return to the program editor.

Page 11

A FEW ADDITIONAL NOTES The hardest thing to remember is to turn the Debugger on. If you run a program and are not hitting any of your break points, go to Debug and insure that Test Mode (upper left corner) is set to on. You can also turn it on or off by entering 'debug on' or debug off' at the NEXT prompt or editor command line. When you see PF3 equal to 'Exit', this key always takes you back a screen. When you see PF2 equal to 'Step', this key will single step through the program one line each time you press it. You do not have to press PF3 to go back to the List Object Source screen to single step. When you DISPLAY VARIABLE to see what the value of a variable, the program defaults to Alpha mode. The function keys PF10 and PF11 will toggle Alpha mode and Hex mode. This is also available on the Modify Watchpoint screen. When we set the variable #WORD equal to 'GRADUATE!', we could have pressed PF11 and entered 'C7D9C1C4E4C1E3C55A40' instead. This works equally well for numeric variables. These keys are also useful to see EXACTLY what is in a variable when you DISPLAY VARIABLE. On the Command Line you were asked to enter things like 'display variable #word'. You can abbreviate DISPLAY VARIABLE as DI VA. There are more commands you can use on the Command line. Ask for HELP on the Command line for a listing of the other commands. If you see a command formatted like this: DISPLAY (DI) VARIABLE (VA) var1,var2,..., the letters inside the parentheses are the abbreviations. Note: There are several screens worth of commands. This popup does not recognize the PF3 key. Just keep pressing enter until you get out. If you want to stop the debugging session at any time, entering the 'STOP' command on the Command line will always drop you out to the editor or NEXT prompt. If you want to turn the Debugger off but let the program continue to run, enter the 'RUN' command on the Command line. This has the same effect as entering a 'T' in the Code field on the Debug Main Menu.

Page 12

NOTE!: The Debugger does not cross libraries. If you want to use it on a module, the module must be in the library you are working in. If you are single stepping through a program and you attempt to single step into another module (CALLNAT, FETCH, ETC) and the called module source AND object is not in your library, you will abend. If it is not necessary to go into this secondary program, set another Breakpoint on the line after the CALLNAT then, enter 'GO' on the Command line. Natural will still execute the secondary program but, Debug will not notice the secondary program.

Page 13

Potrebbero piacerti anche