Restrictions for debugging assembler programs when SET DEFAULT VIEW NOMACGEN is in use

The result can be unpredictable, and an abnormal termination (ABEND) might occur, if you debug an assembler program using SET DEFAULT VIEW NOMACGEN and both of the following conditions are met:
  • The program uses a macro that contains an EX instruction, and the program logic goes through this instruction.
  • You use the STEP command to go through the invocation of the macro with the EX instruction.
In the following example, ABEND0C1 occurs if you use the STEP command to go through the invocation of macro EXMAC at location A ::> A :> 6.
Note: In this example, a target of the EX instruction is coded among other instructions and branched around, and not in the constants' part of the program.
              MACRO                    
              EXMAC                    
              XR     14,14              
              EX     14,EXCLC           
              MEND                     
A             CSECT                    
              STM    14,12,12(13)       
              LR     10,15              
              USING  A,10        
              ST     13,SAVEAREA+4      
              LA     11,SAVEAREA        
              LR     13,11              
              EXMAC                    
              B      RETURN             
EXCLC         CLC    TARGET(0),SOURCE   
RETURN        DS     0H                 
              L      13,SAVEAREA+4      
              LM     14,12,12(13)       
              XR     15,15              
              BR     14                 
SAVEAREA      DC     18F'0'             
SOURCE        DS     C
TARGET        DS     C
              END    A
To avoid this kind of failure, set a breakpoint on the following statement and use the GO command instead of the STEP command to go through the invocation of the macro with the EX instruction.