Skip to content

Page 1

ND Computer Systems

ND 10335 Symbolic Debugger for ND-500, Multiuser

ND 10336 Symbolic Debugger for ND-100

INTRODUCTION

The ND Symbolic Debugger provides a powerful set of commands for controlling the execution of a program as well as inspecting and changing the state during computation.

The Symbolic Debugger for the ND-100 and ND-500 is a single product to aid the debugging of programs written in FORTRAN, COBOL and PLANC. (PASCAL will be added during 1982). It resides in its own address space, and has no direct effect on the executing program (apart from the necessary interference to set breakpoints).

All references may be made in terms of the identifiers used in a program. No knowledge of the code generated by the compilers is required.

FEATURES

  • One product for:
    • FORTRAN
    • COBOL
    • PLANC
    • PASCAL (to be added during 1982)
    • Mixtures of the above
  • Powerful set of commands.
  • No change to program code.
  • Separate address space.
  • Source program references.
  • Symbolic names used.
  • Built-in assembler and disassembler.

PRODUCT DESCRIPTION

The debugger may be used in conjunction with any executable code. Symbolic references are only possible, however, for modules compiled in «DEBUG-MODE». The use of this mode is not mandatory for all modules of the program, nor does it alter the object code produced.

Commands

When the debugger expects the operator to enter a command, it outputs an asterisk (*). A command (along with possible arguments) must be typed on the same line as the asterisk. Omitted arguments are requested. Several commands, separated by semicolons, can be written on the same line. Command names may be abbreviated, and the standard SINTRAN editing characters are available when typing command input.

If several commands are often used in succession, a macro facility is provided to define the sequence as one user command.
A special feature of the debugger aids in debugging when an up-to-date listing is not available. A command is provided to adjust the line numbers in the debugger to correspond to those on the listing.

Expressions

Command arguments representing numerical values and addresses may be entered as expressions. Such expressions may include constants (decimal, octal, hexadecimal, binary, real), simple identifiers in the user's program (module, routine, line, variable), simple arithmetic operators (+, −, SHIFT, ‘.’, **), pointer references (indirection), record component selections (dot notation), and array subscripts (simple elements or subarrays).

10335/10336–C1–6000–0282

Page 2

Controls

The debugger is a subsystem used to monitor the execution of another program. The user may specify what is to be executed, and where execution is to be interrupted. When the user's program is not executing, control is returned to the debugger so that the state of the computation may be inspected.

The user may step through a program one source line or one routine call at a time. He may also permit the program to execute until it reaches a breakpoint – a particular place in the program specified by the user.

A breakpoint may be set at the beginning of a line of source code (entered as a line number or a label name), at the beginning of a routine (entered as the routine name), or immediately following the return from the present routine. A breakpoint may also be set at a particular program address; this is especially useful when suitable load maps are available for modules compiled without «DEBUG-MODE».

A conditional breakpoint may be specified by stating a legal range of values for a data element. If the value is set outside this range, execution will stop.

When stopped at a breakpoint, the current call hierarchy, starting with the current routine and ending with the main program, may be examined.

The debugger will, if specified, maintain a log of routine calls or executed source code lines. The log is dumped on request. In addition, it is possible to obtain a list of all unexecuted lines or routines to aid in evaluating a test case or in identifying areas of «dead» code.

A routine in the user's program may be executed directly without altering the breakpoint status. This ability to invoke routines is often useful for dumping or initialization of special data structures.

Examining and Setting Variables

Variables in the user program are usually examined with the DISPLAY command. The variables to be displayed may be specified explicitly; if none are specified, all of the variables in the current routine are displayed. It is also possible to display variables in routines other than the current one by adding a routine qualifier.

The display command is capable of printing the contents of both simple and composite data items, including arrays and records. In general, it can print the value of any expression.

Normally the type of the expression determines the format of the display. It is possible, however, to request a particular combination of formats chosen from decimal, octal, hexadecimal, ASCII, and floating.

The value of variables, including array elements and record components, may be changed using the SET command.

The LOOK-AT series of commands provide method of examining and changing data locations, the run-time stack, the registers, and the program code. Program instructions are normally printed in disassembled form and new instructions may be entered in symbolic form.

Documentation

Debugger User's Manual
ND-60.158

 _______________________
|         ND           |
| Norks Data           |  Olav Helses vei 5
|_______________________|  Boks 25 Bogerud  
                              Oslo 6  
                              Tel.: 02-295400  
                              Tlx: 18284 nd n  
                              Telefax: 02-295617

Oslo, tel. 02-390030, tkx. 18661 nd n
Bergen, tel. 05-225054
Sandnes, tel. 04-665594
Tromsø, tel. 083-71576
Stockholm, tel. 070-962000, tkx. 15255 nordata s
Gothenburg, tel. 031-496760
Malmo, tel. 040-75545  
Copenhagen, tel. 02-425055, tkx. 37275 nd dk
Wiesbaden, tel. 06121-76541, tkx. 4186753 nodna
Ferry-Voltaire, tel. 050-008576, tkx. 385503 nordata ferrv
Paris, tel. 14236636, tkx. 40108 nod paris
Lyon, tel. 7-837-4317, te. 837-5951
Newbury, tel. 0635-31465, tkx. 848919 norsk d
Boston, tel. (617) 237-7945, tkx. 921740 norsk well

_________________________
|        ND COMTEC      |  
| DIVISION OF NORKS DATA|  Jærvikveien 29  
|_______________________|  Boks 4 Lindeberg gård  
                              Oslo 10  
                              Tel.: 02-390030  
                              Tlx: 18661 nd n  
                              Telefax: 02-309247  

Trondheim, tel. 075-16520, tkx. 55580 comtec n
Stockholm, tel. 070-841000, tkx. 15255 nordata s
Odense, tel. 09-157440, tkx. 59060 comtec dk
Düsseldorf, tel. 0211-668388, tkx. 8587277 comtd d

NOTE: NORSK DATA reserves the right to change specifications without notice