Up: Miscellany


27.11 Set Debugging Variables — DEBUG

27.11.1 Syntax

     DEBUg repeat(name int)
     
                     { ALLHP       }
                     { ALLOC       }
                     { ALLSTK      }
                     { CGCONS      }
                     { CGEN        }
                     { CLSCHN      }
                     { CORE        }
                     { DIVZERO     }
                     { ESOLVE      }
                     { FPE         }
                     { GENIC       }
                     { GEPOL       }
                     { GRID        }
                     { GRIDSIG     }
           name ::=  { INEXACT     }
                     { INVALID     }
                     { JCOUP       }
                     { MALLOC      }
                     { NOE         }
                     { OVERFLOW    }
                     { PARA        }
                     { PBE         }
                     { SEARCH_NEAR }
                     { TLIMIT      }
                     { TREE        }
                     { UNDERFLOW   }
                     { XCONF       }

27.11.2 Function

The DEBUG command set the value for various debugging variables in the system. Although you should check the source code for the exact details, the following table gives an approximate idea of what the variables do.

ALLHP
Displays details about heap management (see Heaps). The settings are as follows:
1
Heaps are initialized when allocated.
2
Messages are printed for all heap allocation and freeing requests.
3
The state of the heap is printed with every allocation and freeing request.

ALLOC
Attempts to debug allocation errors. The value for this variable is interpreted in two parts, the units digit and the tens digit. A "1" in the tens digit signifies messages about allocation and freeing should be printed; a "0" means no messages. The units digit is interpreted in a cumulative way (e.g., a setting of 2 implies the actions of a setting of 1). Warning:, there is bug in use of this debugging variable. Settings of 2 or higher are incompatible with a setting of 1 or 0. Once you raise this variable up over 1, do not lower it, otherwise, your storage will be mutilated. Also, when the program exits, there is a chance is will crash because some memory allocated before the first command will not be freed correctly.
0
No checking.
1
All memory allocated through cgalloc is set to -1 before being returned.
2
The heap allocation routines are used to allocate memory for cgalloc, and some checks are done when memory is freed using cgfree.
3
The memory allocated for cgalloc usage is checked everytime cgalloc and cgfree are called.

ALLSTK
Display details about stack management (see Stacks).
CGCONS
Controls display of information about dihedral angle and J coupling constraints in conformational search. When set to 1, a list of atoms affected by these constraints will be output. When set to 2, any sampling operation which is restricted by a constraint will be displayed as well. This second setting can be voluminous.
CGEN
Displays the course of a conformational search.
CLSCHN
Displays details about chain closure.
CORE
Controls whether core dumps are made on Unix systems when an error occurs. By default, this variable is set to 1 which means core dumps are taken. If set to 0, then core dumps are not taken.
DIVZERO
Controls handling of division by zero errors. See FPE option for meaning of the value. Normally set to abort, but only on the Iris.
ESOLVE
Controls debugging display of simple equation solving. Default is 0, which means no output.
FPE
Controls handling of all floating point exceptions. Only the Iris currently provides control of floating point exceptions. This option effectively substitutes for DIVZERO, INEXACT, INVALID, OVERFLOW, and UNDERFLOW. The value is interpreted as follows:
0
Continue execution, but substitute an appropriate operand when the error occurs.
1
Print a count of errors on stderr at the end of execution.
2
Provide a traceback each time the error occurs.
3
Abort execution with an attempted core dump when the error occurs.

Note: on SGI Irix 5.3, there is a bug which prevents this code from functioning. As a result, no exceptions are trapped at all. On SGI Irix 6.0, libfpe is unavailable, so no exceptions are trapped here either. Hopefully, future releases will take care of the problem.

GENIC
Controls whether displays are made of atoms which are not found within generated segments. Normally, topology files are set up so that some atoms at the end of segments stick out the sides, and these generate errors.
GEPOL
Turns on the print flag in the GEPOL code, see Gepol Command, and Atom Properties.
GRID
Displays details about the space grid.
GRIDSIG
Displays a signature of the space grid before every node expansion. This may be useful in diagnosing malloc errors or problems with serial vs parallel execution.
INEXACT
No effect on any machine. Although the IEEE floating standard provides this exception for inexact arithmetic, it is not controllable on any machine. See FPE option for meaning of the value.
INVALID
Controls handling of invalid floating point errors. See FPE option for meaning of the value. Normally set to abort, but only on the Iris.
JCOUP
When non-zero, display details about the J coupling NMR constraints.
MALLOC
When non-zero, turns on debugging of malloc calls on some machines (definitely, the Iris).
NOE
Displays details about NOE constraint calculations. A setting of 1 shows the energy calculations in detail. A setting of 2 also display the NOE constraints prior to an energy calculation.
OVERFLOW
Controls handling of overflow errors. See FPE option for meaning of the value. Normally set to abort, but only on the Iris.
PARA
Controls output of debugging messages from parallel processing routines.
PBE
Controls debugging information from the Poisson-Boltzmann electrostatics code. When set to 1, additional useful information about the calculation is output. At 4, statistics about the potential and charge densities are displayed, as well as other information. In the PBE TEST command, a setting of 3 will display the calculation of the terms in the spherical cavity test potential. At 5, individual calculations of the potential are output (don't do this unless you want to fill your disk!). At 11, the number of iterations for the test cavity calculations will be put into the potential grid.
SEARCH_NEAR
Displays details about searches near atoms.
TLIMIT
Display information about atoms which have been retarded during molecular dynamics using the TLIMIT option, see Dynamics. The options are interpreted as follows:
0
All debugging output is turned off.
1
The number of atoms which have been retarded on each dynamics cycle is displayed.
2
Each atom whose motion is slowed is displayed. This can be voluminous.

TREE
Displays details about the conformational search tree.
UNDERFLOW
Controls handling of underflow errors. See FPE option for meaning of the value. Normally ignored, but only on the Iris.
XCONF
Controls whether accessible surfaces are printed when the ESURF option is used with the XCONF command.