Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Symbolic debugging with AID

Symbolic debugging with AID permits data items, compilation units, sections, and paragraphs to be addressed using the names defined in the source text.

However, in order to reference a line in the Procedure Division, the programmer must specify a name in the form

  • S’n’ (for a line with a section or paragraph name) or

  • S’nverbm’ (for a line with COBOL verbs).

Such an LSD name is created by COBOL2000 for each line in the Procedure Division and for each COBOL verb in a statement line (see Example 7-1). Its components have the following meaning:

n

is the number (5 digits at most) of the line in the Procedure Division. The number, which is assigned by COBOL2000 at compile time, must be specified without leading zeros. If the sequence number of the compilation unit (max. 6 positions) is to be used as the line number, then this must be requested by the user with the SDF operand STMT-REFERENCE=COLUMN-1-TO-6 in the TEST-SUPPORT option or with COMOPT TEST-WITH-COLUMN1.

verb

is the predefined abbreviation of a COBOL verb in the line concerned. A list of the abbreviations is given below.

m

is a one- or two digit number specifying which of several identical verbs within a line n is to be indicated.If k is equal to 1, it is omitted.

Example 7-1

Creation of LSD names

000026                IF A = B MOVE A TO D MOVE B TO E.


In this statement line

  • the first verb has the LSD name S’26IF’,

  • the second verb has the LSD name S’26MOV’, and

  • the third verb has the LSD name S’26MOV2’.

A detailed example explaining how a COBOL program can be debugged with AID is provided in the “AID“ [8].

List of COBOL verbs and their abbreviations:

ACC

ACCEPT

INI

INITIATE

ADD

ADD

INSP

INSPECT

ADDC

ADD CORRESPONDING

INV

INVOKE

ALLO

ALLOCATE

KEE

KEEP

ALT

ALTER

MOD

MODIFY

CALL

CALL

MOV

MOVE

CANC

CANCEL

MOVC

MOVE CORRESPONDING

CLO

CLOSE

MRG

MERGE

COM

COMPUTE

MUL

MULTIPLY

CON

CONNECT

OPE

OPEN

CONT

CONTINUE

PER

PERFORM oder EXIT PERFORM

DEL

DELETE


end of main part of loop 2)

DIS

DISPLAY

PERT

TEST OF PERFORM

DIV

DIVIDE

RAIS

RAISE

DSC

DISCONNECT

REA

READ

END

END-xxx 1) 2)

REDY

READY

ENTR

ENTRY

REL

RELEASE

ERA

ERASE

RES

RESUME

EVAL

EVALUATE

RET

RETURN

EXI

EXIT

REW

REWRITE

EXI

EXIT PARAGRAPH

SEA

SEARCH

EXI

EXIT SECTION

SET

SET

EXIT

EXIT METHOD

SOR

SORT

EXIT

EXIT PROGRAM

STA

START

FET

FETCH

STO

STOP

FIN

FINISH

STOR

STORE

FND

FIND

STRG

STRING

FRE

FREE

SUB

SUBTRACT

GEN

GENERATE

SUBC

SUBTRACT CORRESPONDING

GET

GET

TER

TERMINATE

GO

GOBACK

UNST

UNSTRING

GOT

GO TO

WRI

WRITE

IF

IF

XML

XML

INIT

INITIALIZE



1)

Explicit scope terminator (e.g. END-ADD)

2)

The point at which END is to stop comes after the scope terminator; for ENDPERFORM, in particular, this point comes after the PERFORM has been completed. A further stopping point exists prior to END-PERFORM, after a single loop. You can use PER to address this second stopping point.