Restrictions for debugging assembler programs that consist of multiple sections
When your assembler program consists of multiple sections, indicate that debug information should be loaded for all sections by using command SET LDD ALL before using the LDD command.
For more information, see Multiple compilation units in a single assembly.
If the debug information is not loaded for all sections in the compile unit (CU), the result can be unpredictable, and an abnormal termination (ABEND) might occur.
In the following example, the
EX
instruction and its target are coded in
separate CSECTs of the
program:A CSECT
L 15,B$BASE
BASR 14,15
B CSECT
LA 5,8
EX 5,MVC
BR 14
A CSECT
B$BASE DC A(B)
MVC MVC TO(0),FROM
TO DC CL9'123456789'
FROM DC CL9'987654321'
If the debug information is loaded for CSECT A
that contains the target of the
EX
instruction, but not loaded for CSECT B
that contains the
EX
instruction, the EX
instruction will abend immediately after
the STEP command is performed on the BASR 14,15
instruction.