Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ e — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

;



DEBUG "Examine" Command...

Examine <variable>[,<variable>,...,<variable>]
        [{ -Ascii | -Binary | -Decimal | -Hex | -Octal | -Unsigned |
           -Float | -Real | -DOUble }]


    Specifying any of the options causes DEBUG to examine the data as if
    it was of the given type, regardless of its actual type.

    A <variable> is:
                     <identifier>          (This assumes current environment)
                     <debugger-variable>   (<`identifier>)
                     <routine-name><identifier>
                     <routine-name><activation-no><identifier>

    A debugger variable (<`identifier>) is created when it is Set.

    An array variable may have special subscripts: "*" means 'all'
    elements of the dimension, and "<expr>:<expr>" indicates a
    'range' of elements.  (See IF cmd for the definition of <expr>.)

    A <routine-name> is:
                     <routine>\[<routine>\...]

    An <activation-no> is:
                     <integer>\
                     (Positive integers count from beginning of execution.)
                     (Negative integers count back from current.)
                     (Default = 0 = current routine invocation.)


    <debugger variable>

    A debugger variable is an identifier with a leading accent grave: `name.
    It is created by the Set command by merely setting the name to a value.
    It can be used just like any variable in the target program.  It can
    also be de-referenced as a pointer.  (Be sure you have a legal program
    address!)  When a debugger variable is de-referenced, a simple data type
    MUST be supplied immediately following the ^ character:

        > ex `dptr^integer

    The data types available are as follows ([] show optional parts):

        Integer:                            integer[16], integer32
        Pascal/Fortran character:           char[acter]
        C character:                        byte, int8
        Single precision floating point:    single, float, real
        Double precision floating point:    double
        Boolean:                            boolean, logical
        Complex:                            complex
        Universal pointer:                  univ_ptr

    Two special debugger variable names are looked for.  If found, and their
    values are greater than zero, they control output from Examine, Set,
    DEScribe, and Args.  These are:

        `max_var_len    This variable sets a maximum length for the display
                        of the "routine-name\variable-name" string.

        `max_array_dim  This variable sets a maximum number of entries PER
                        dimension of an array which will be displayed.  When
                        the array is examined or set WITHOUT specific
                        dimension information, this debugger variable can
                        control the number of entries shown.  This variable
                        is ignored if the "*" or "expr:expr" subscripts are
                        used.

    Once set, these variables can be deactivated by setting them to any value
    less than 1.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026