*DECK NS$DBG
PROC NS$DBG((PROCNAME));     # TRACE PROCEDURE CALLS                   #
  
# TITLE NS$DBG - TRACE PROCEDURE CALLS.#
  
      BEGIN    # NS$DBG # 
# 
**    NS$DBG - TRACE PROCEDURE CALLS. 
* 
*     J.C. LEE    1981
* 
*     THIS ROUTINE PROCESS TRACE PROCEDURE CALLS. 
* 
*     PROC NS$DBG(PROCNAME) 
* 
*     ENTRY:  
*       PROCNAME - PROCEDURE NAME.
* 
*     EXIT: 
*       NONE. 
* 
*     NOTE: 
*      CODE IN THIS PROC ONLY COMPILED IN DEBUG MODE. 
* 
*     METHOD: 
*       STORE PROCEDURE NAME INTO TRACE TABLE.  IF TABLE IS FULL, 
*       RESET INDEX TO POINT TO THE BEGINNING OF TABLE, AND 
*       OVERRIDE TABLE. 
* 
# 
  
      ITEM PROCNAME   C(10); # PROCEDURE NAME                          #
  
      $BEGIN
  
      ITEM CURINDEX   U = 0; # CURRENT INDEX OF TRACE TABLE            #
  
      DEF L$TRACETAB # 100 #;# TRACE TABLE SIZE                        #
      ARRAY TRACETABLE [1:L$TRACETAB] S(1); 
        BEGIN 
        ITEM TT$PROCNAM C(0,0,10) = [L$TRACETAB(0)];
        END 
  
CONTROL EJECT;
  
      CURINDEX = CURINDEX + 1;
      IF CURINDEX GR L$TRACETAB 
      THEN                   # INDEX EXCEEDS TABLE SIZE                #
        CURINDEX = 1;        # RESET INDEX TO 1                        #
  
      TT$PROCNAM[CURINDEX] = PROCNAME;
  
      $END
  
      RETURN; 
      END   # NS$DBG #
      TERM
